显示文本字符串 (N) 次

Displaying a String of text (N) number of times

对于一项作业,我必须创建一个程序,为用户输入数字 (N) 创建一个提示,然后创建另一个提示,然后要求用户输入一行文本。然后程序必须显示文本行 (N) 次

import java.util.Scanner;

public class Question8 {

    public static void main(String[] args) {
        Scanner kb = new Scanner (System.in);
        System.out.print("Enter a postivie integer: " );
        int n = kb.nextInt();
        kb.nextLine(); //consume the rest of the line

        System.out.println("Enter a line of text: ");
        String text = kb.nextLine();

从这一点开始,我在实现一个将显示文本 (N) 次的循环时遇到了麻烦

for(int n; n<0; n--){
            System.out.println(text);
        }
    }
}

您的循环似乎无法启动。你要求你的循环做的是 从 n 开始。只要 n 小于 0(它不是。n 应该大于 0),就保持循环。将 n 减 1。 我想你想做的是

    for (int i = n; i > 0; i--) {
     ...
    }

在 for 循环的头部,您声明了一个新变量 n,它分配了 0 的值。

你可以使用这个(不推荐):

for(; n>0; n--)

或更好:

for (int i = 0; i < n; i++)

您在 for 循环中声明了一个新变量。这个变量 n 使另一个 n 用于获取值 n 在 for 循环中不可见,因为它被覆盖了。您在 for 循环中犯的另一个错误是您没有初始化用于迭代的变量。所以你应该在这种情况下使用 for 循环,如下所示:

 for (int j = 0; j < n; j++){
     ...
  }

变量j用于确定迭代次数。在这种情况下,j 从 0 迭代到 n - 1,步长为 1。即迭代 n 次。您必须小心测试用户的 n 值以验证它是否为正数,否则 for 循环将无法正常工作。