我有这个代码:
import java.util.*;
class Uke44{
public static void main(String[]args){
Scanner input=new Scanner(System.in);
boolean lokke=true;
System.out.println("Vennligst oppgi navn: ");
String navn=input.nextLine();
while(lokke){
for(int i=0; i<100; i++){
System.out.println(navn);
}
System.out.println("Gi et nytt navn? j/n: ");
char valg = input.next().charAt(0);
if(valg.contains("j")){
lokke=true;
System.out.println("Skriv et nytt navn: ");
navn=input.nextLine();
}else{
lokke=false;
}
}
}
}
我想要它做的是,当用户在提示时输入: j 时,它应该将 lokke 变量重新设置为 true,循环再次运行,并提示用户输入 j 或 n 来确定是否或他/她不想继续该计划。但 valg.contains("j")) 不起作用。之前我总是需要将可能的选择保存在自己的变量中,然后使用“==”运算符来让程序检查是否相等。但有没有更简单的方法呢?比如,等于什么的?
最佳答案
valg
不是一个String
,它是一个char
。 char
不是一个对象,它是一个基元,因此它没有任何功能。
char
也只是单个字符,因此即使提供 contains
也是没有意义的,无论它是或不是......
尝试使用类似...的东西
if(valg == 'j')){
...相反
关于java - 根据用户输入打破 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19370804/