【问题标题】:Create user interface with while loop使用 while 循环创建用户界面
【发布时间】:2021-01-05 00:26:59
【问题描述】:

我目前有一个关于使用 while 循环创建用户界面的任务,这是我目前的代码:

import java.util.Scanner;
public class Part3{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        System.out.println("Welcome dear user!");
        System.out.println("Would you like to:");
        System.out.println("a) sum gain");
        System.out.println("b) exit");

        System.out.print("Option: ");
        String optionString = input.next();
        char option = optionString.charAt(0);

        while (option == ("a")){
            System.out.println("Helo");
        }
    }
}

我被 while 循环卡住了,当我编译时,说二进制运算符的操作数类型错误是错误的。我是java新手,所以你们能帮我解决这个问题。非常感谢

【问题讨论】:

  • "a" 是一个字符串。您不能将字符与字符串进行比较。
  • 那么你知道我该如何改变吗?
  • 把“a”改成“a”
  • 您可以将字符与字符进行比较。了解字符在 Java 中的外观。
  • while 替换为if

标签: java


【解决方案1】:

您可能会遇到以下问题:

Part3.java:14: error: incomparable types: char and String
        while (option == ("a")){

因为您试图比较 char (option)String ("a")。所以请使用 'a' 而不是 "a"

即使您解决了这个问题,当用户选择选项 a 时,您的代码似乎也会陷入无限循环。

如果您只想打印一次,请使用 break;循环内的语句。

while (option == ("a")){
            System.out.println("Helo");
            break;        
}

【讨论】:

  • 很好,现在可以使用了。谢谢你。但是,因为条件始终为真,所以它变成了一个无限循环,你知道如何让它只打印 1 个“Helo”吗?
  • 使用休息;陈述。编辑了答案。
猜你喜欢
  • 2012-10-07
  • 2013-12-20
  • 1970-01-01
  • 2013-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-18
  • 2019-10-11
相关资源
最近更新 更多