我有以下代码:

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,它是charchar不是对象,它是原始对象,因此没有功能。

char也是一个字符,因此即使提供contains也没有意义,无论是不是。

尝试使用类似...

if(valg == 'j')){


...代替

09-25 22:11