Void methods cannot return a value
Solution 1
You should be defining your method outside of main, like:
public class YourClass
{
public static void main(String... args)
{
}
public char yourMethod()
{
//...
}
}
Java does not support nested methods; however, there are workarounds, but they are not what you're looking for.
As for your question about args
, it is simply an array of Strings
that correspond to command line arguments. Consider the following:
public static void main(String... args) //alternative to String[] args
{
for (String argument: args)
{
System.out.println(argument);
}
}
Executing via java YourClass Hello, World!
Will print
Hello,
Word!
Solution 2
You cannot declare a method (toLower
) inside another method (main
).
Solution 3
Yes void return type can not return any value.
It will be better if you create a separate function for this process which will return some value and call it from main().
public class Test
{
public static void main(String[] args)
{
String[] a = testMethod();
}
public String[] testMethod()
{
.....
.....
return xx;
}
}
Hope it will help you.
Thanks
Solution 4
You need to declare your method outside of the main
public class YourClass
{
public static void main(String... args)
{
}
public char yourMethod()
{
}
}
the string args bit is so when you run it through command line you can send values (as strings)
>java myprogram var1 var2 ....
Solution 5
Because You have added ; at the end of an method
corrected Code:
public class CS106A {
public static void main(String[] args){
Char char=new CS106A.toLower('s');
System.out.println(char);
}
public char toLower(char ch)
{
if (ch >= 'A' && ch <= 'Z'){
return ((ch - 'A') + 'a');
}
return ch;
}
}
Please Read how to write Methods in java on any java website
Aaron Ausmus
Updated on December 12, 2020Comments
-
Aaron Ausmus over 3 years
I'm following the CS106A lectures online. I'm going through the code on Lecture 12, but it's giving me errors in Eclipse.
This is my code. It seems the error is because of the word void in my
main
method. I tried deleting the main method, but of course Java can't run without it.I'm a newbie and no one has explained what the
String[] args
thing really means, but I've been told to just ignore it and use it. I'd appreciate if someone could explain that to me as well.This errors also comes up on the 'toLower' method; no idea what it means: Illegal modifier for parameter toLower; only final is permitted
(if it helps; the point of the code is to convert an uppercase letter to a lowercase one)
public class CS106A { public static void main(String[] args){ public char toLower(char ch); if (ch >= 'A' && ch <= 'Z'){ return ((ch - 'A') + 'a'); } return ch; } }
Thanks