为什么这个程序不起作用,我基本上设置了一个扫描仪,如果扫描仪提取的char值不等于S,它应该永远循环。为什么不呢?
public class Practice {
public static void main(String[] args) throws IOException {
System.out.println("Press S to Stop");
char i;
Scanner ScanMe=new Scanner(System.in);
i=ScanMe.next().charAt(0);
System.out.println(i);
for(i=0;i !='S';i++){
System.out.println("hello forever");
}
System.out.println("You did not press S");
}
}
答案 0 :(得分:1)
你有很多错误,首先,你宣布char i
然后在循环中设置i=0
(记住,i
是一个字符),并且然后你甚至尝试在i++
中增加它。
为您的目的将循环更改为此类:
while(i !='S') {
System.out.println("hello forever");
}
答案 1 :(得分:1)
1)。您将扫描仪中的字符输入i,然后初始化(i = 0)。为什么呢?
2)。句子“你没有按S”将始终打印。
如果您尝试打印消息“hello forever”,如果用户输入'S',那么只需使用简单的if-else。
public class Practice {
public static void main(String[] args) throws IOException {
char i;
System.out.println("Press S to Stop");
Scanner ScanMe=new Scanner(System.in);
i=ScanMe.next().charAt(0);
System.out.println(i);
if(i == 'S'){
System.out.println("hello forever");
}else{
System.out.println("You did not press S");
}
}
}
答案 2 :(得分:0)
我想出了没有任何操作的正确方法。 Shafeen是最有帮助的谢谢你!
System.out.println("Press S to Stop");
char i,x;
Scanner ScanMe=new Scanner(System.in);
i=ScanMe.next().charAt(0);
x=i;
System.out.println(i);
for(i=0;x !='S';i++){
System.out.println("hello forever");
}
System.out.println("You did not press S");
}
}