使用字符串终止循环.(爪哇)



编写一个使用 while 循环的程序。在循环的每次迭代中,提示用户输入一个数字 - 正数、负数或零。 保留用户输入的数字的运行总计,并保留用户输入的计数。 每当用户输入"q"退出时,程序应停止。 用户完成后,打印总计和用户键入的条目数。

当我输入像 0 这样的数字时,我可以让这个程序工作,以终止循环。但是我不知道如何获得它,以便字符串阻止它。

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int count = 0;
    int sum = 0;
    int num;
    System.out.println("Enter an integer, enter q to quit.");
    num = in.nextInt();
    while (num != 0) {
        if (num > 0){
        sum += num;
        }
        if (num < 0){
        sum += num;  
        }
        count++;
        System.out.println("Enter an integer, enter q to quit.");
        num = in.nextInt();
    }
    System.out.println("You entered " + count + " terms, and the sum is " + sum + ".");
}

您的策略是将输入作为字符串获取,检查它是否是"q",如果没有转换为数字和循环。

(由于这是您的项目,因此我只提供策略而不是代码)

这是粗略的策略:

String line;
line = [use your input method to get a line]
while (!line.trim().equalsIgnoreCase("q")) {
   int value = Integer.parseInt(line);
   [do your work]
   line = [use your input method to get a line]
}
  public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    int count = 0;
    int sum = 0;
    String num;
    System.out.println("Enter an integer, enter q to quit.");
    num = in.next();
    while (!num.equals("q")) {
          sum += Integer.parseInt(num);
        count++;
      System.out.println("Enter an integer, enter q to quit.");
      num = in.next();
    }
    System.out.println("You entered " + count + " terms, and the sum is " + sum + ".");
  }

减少代码数量,易于理解,并为您提供所需的内容。

还可以添加一个 if 语句来检查他们是否输入了另一个随机值(因此如果用户不听,程序不会崩溃)。像这样:

if(isLetter(num.charAt(0))
  System.out.println("Not an int, try again");

会把它放在 while 循环之后,因此它已经检查了它是否是 q。

java需要一个

整数,但我们应该给出同样的例外。解决此问题的一种方法是输入一个字符串,这样如果用户第一次按的是 Q,则永远不会进入循环,如果不是 Q。我们假设用户是专家,并且只会在完成后输入数字和 Q。在此期间,我们使用num.parseInt(字符串)将字符串转换为数字

Integer num;
String input;
while(!input.equal(q)){
 num=num.parseInt(input)
  if(num<0)
   sum+=1;
  else
   sumA+=1;
}

相关内容

  • 没有找到相关文章

最新更新