java - 运行程序直到满足特定条件?

标签 java char user-input infinite-loop break

我希望此代码继续运行,只要用户在出现提示时继续输入“Y”或“y”,任何其他输入都应从程序中退出。正如我现在的代码,无论输入什么,它都只运行一次。我该如何解决?

这是我的代码:

import java.util.Scanner;

public class zigzag {
    public static void main(String[] args) {
        Scanner myScanner, sc;
        myScanner = new Scanner(System. in );

        while (true) {
            System.out.print("Enter an integer between 3 and 33: ");
            int nStars = myScanner.nextInt();

            if (nStars > 33 || nStars < 3) {
                System.out.println("Sorry, this input is out of the accepted range");
            } else {
                for (int i = 0; i < nStars; i++) {
                    System.out.print("*");
                }
                System.out.println(" ");
            }
            for (int j = 0; j < nStars - 2; j++) {
                System.out.print(" ");
                for (int k = 0; k <= j - 1; k++) {
                    System.out.print(" ");
                }
                System.out.println("*");
            }
            for (int g = 0; g < nStars; g++) {
                System.out.print("*");
            }
            System.out.println(" ");

            System.out.print("Enter 'Y' or 'y' to go again: ");
            char ch = myScanner.next().charAt(0);

            if (ch != 'y' || ch != 'Y') {
                break;
            }
        }
    }
}

最佳答案

你想要

if(ch!='y' && ch!='Y'){

不是

if(ch!='y' || ch!='Y'){

关于java - 运行程序直到满足特定条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29883418/

相关文章:

java - 简单 Java 多态性的 C++ 等价物

java - 使用 set OAuth2Credentials 读取数据并将数据写入 Google 表格

string - 在 Scala 中高效地重复字符/字符串 n 次

c - 具有多个输入字段的用户界面

java - 包和类范围规则?

java - 将表单输入从 servlet 重定向到另一个表单

c++ - 在不使用标准库和字符串的情况下连接 char*

c++ - 高效地从输入文件中赋值

batch-file - 批处理文件: input barcodes string substitution

javascript - 我正在尝试将 "grades"添加到数组,但它没有按计划进行