我在哪里移动我的字符串?

问题描述 投票:0回答:1

我必须移动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);
    }

}
java arrays string for-loop if-statement
1个回答
0
投票

几个问题。

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

你要求程序将hah设置为false(并且基本上终止程序)if(dru == 5 && hah == true)。问题是,你在if (dru == 1)部分这样做,所以dru永远不会是5除非你重新分配dru。此外,这意味着Goodbye将不会打印,因为dru永远不会是5,所以你的程序将终止,但不打印Goodbye

接下来的问题,你不是问用户是否要退出,因此没有给他们机会输入5,所以dru = 5,意味着你的程序不会终止(在你修复了上述缩进问题之后)。

© www.soinside.com 2019 - 2024. All rights reserved.