新人提问,一个简单的问题
import java.util.*;
public class lianxi{
public static void main(String[] args){
String name;
Scanner input=new Scanner(System.in);
do{
System.out.println("输入姓名");
name=input.next();
}while(!name.equals("q"));
System.out.println("程序结束");
}
}
这个程序就能输出,点q就程序结束
但我不太明白,我把第四行的String name放到第八行的name=input.next()中,变成String name=input.next(); 结果运行时就报错,说什么name can not be resovled,请问这是为什么(难道我还必须要先用独立一行代码去声名name吗?后来我把String name变成随便一个“int 变量” 也是不行,报同样的错)
import java.util.*;
public class lianxi{
public static void main(String[] args){
String name;
Scanner input=new Scanner(System.in);
do{
System.out.println("输入姓名");
name=input.next();
}while(!name.equals("q"));
System.out.println("程序结束");
}
}
这个程序就能输出,点q就程序结束
但我不太明白,我把第四行的String name放到第八行的name=input.next()中,变成String name=input.next(); 结果运行时就报错,说什么name can not be resovled,请问这是为什么(难道我还必须要先用独立一行代码去声名name吗?后来我把String name变成随便一个“int 变量” 也是不行,报同样的错)
String name = input.next();
再while(!name.equals("q"))
它就不认得了,就这样
int aa=new int();
int aa=8;
像int aa;这样就不对了
name=input.next();
原因是由于下面的这句话?
while(!name.equals("q"))
public class lianxi{
public static void main(String[] args){
String name;
Scanner input=new Scanner(System.in);
do{
System.out.println("输入姓名");
name=input.next();
System.out.println("输出姓名");
System.out.println(name);
System.exit(0);
}while(!name.equals("q")); //这里有用到name,所以不能在第八行用String name=input.next();来代替第四行
System.out.println("程序结束");
}
} 我帮你改了一下,自己看看。
点q就结束了do...while循环了因为!name.equals("q")条件为假了。
所以就结束了。
当运行while(!name.equals("q")); 就会报错name can not be resovled(name没有定义)。