I\'m New to Java and I am following some instruction, However When I get to the Strings section
public class String {
public static void main(S
You were careful to fully-qualify your reference to java.lang.String
for the name
variable, but not for the args
parameter to main
.
Use
public static void main(java.lang.String[] args) {
Of course, this all resulted because you named your class String
, the same name as a built-in class in Java. Perhaps you could name it StringTest
instead? That would avoid having to worry about class name collision and fully qualifying the Java built-in String
.
why don't you try this
public class StringFirstTry {
public static void main(String[] args) {
String name;
name = "luke";
System.out.println("Hello, " + name + "pleased to meet you");
}
}
If you insist on using String as your class name it should be:
public class String {
public static void main(java.lang.String[] args) {
java.lang.String name;
name = "luke";
System.out.println("Hello, " + name + "pleased to meet you");
}
}
I don't think it's particularly wise to try and re-use the names of classes defined in java.lang
though.
As your class hides the java.lang.String
name, you need to write
public static void main(java.lang.String[] args) {
Better call your class StringTest
or something else to avoid this confusion.
public class StringTest {
public static void main(String[] args) {
String name = "luke";
System.out.println("Hello, " + name + "pleased to meet you");
}
}
Since your class is named String, it is being inferred by the compiler as the argument type of your main method.
Try fully qualifying the argument type instead:
public static void main(java.lang.String[] args) {
...
Or better yet, rename your class to use and non-java.lang class name.