【问题标题】:Where do I move my String?我在哪里移动我的字符串?
【发布时间】:2023-03-11 10:55:01
【问题描述】:

我必须移动 String[] du = new String[ruu];,目前在 if(dru == 1) 下。问题是在哪里以及如何制作它,以便其余代码遵循它。我将如何处理这个?这就是我所拥有的:

import java.util.Arrays;
import java.util.Scanner;

public class Sol {
    public static void main(String[] args) {

        boolean hah = true;
        Scanner dea = new Scanner(System.in);

        do {
            System.out.println("1. Create League.");
            System.out.println("2. Look up Teams.");
            System.out.println("3. Mark Win.");
            System.out.println("4. Mark Loss.");
            System.out.println("5. Quit.");
            int dru = dea.nextInt();

            if (dru == 1) {
                System.out.println("How many Teams?");
                int ruu = dea.nextInt();
                System.out.println("Fine. Just give a name.");
                dea.nextLine();
                String[] du = new String[ruu];

                for (int i = 0; i < du.length; i++) {
                    if (i >= 1)
                        System.out.println("More are required.");
                    du[i] = (String) (dea.nextLine());
                }
                System.out.println("Teams: " + Arrays.toString(du));
                if (dru == 5 && hah == true)
                    System.out.println("Goodbye.");
                hah = false;
                if (hah == false)
                    break;
            }
        } while (hah == true);
    }

}

【问题讨论】:

  • 运行时当前发生了什么?
  • 另外,请修正缩进,因为无法判断某些代码处于哪个缩进级别(这很重要,因为它可能会破坏您的程序)。
  • 缩进是固定的。当我运行它时,我进入菜单并显示我的选项。当我选择 if(dru ==1) 时,它会一直运行到列出团队为止。当它应该在 if(dru ==5 && hah == true) 上执行此操作时,它会立即终止。我做错了什么?

标签: java arrays string for-loop if-statement


【解决方案1】:

几个问题。

hah = false; 行应在if(dru == 5 &amp;&amp; hah == true) 行下缩进。

您要求程序将hah 设置为false(并实质上终止程序)if(dru == 5 &amp;&amp; hah == true)。问题是,您在 if (dru == 1) 部分内执行此操作,因此 dru 永远不会是 5,除非您重新分配 dru。此外,这意味着Goodbye 不会被打印,因为dru 永远不会是5,因此您的程序将终止,但不会打印Goodbye

下一个问题,你没有询问用户是否想退出,因此没有给他们机会输入5,所以dru = 5,这意味着你的程序不会终止(在你已经修复了前面提到的缩进问题)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-08
    • 2021-03-10
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 2015-11-22
    • 2012-05-30
    • 1970-01-01
    相关资源
    最近更新 更多