对于作业,我必须创建一个程序,为用户创建一个输入数字(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);
}
}
}
答案 0 :(得分:1)
看起来你的循环无法启动。你要求你的循环做的是 从n开始。只要n小于0(它不是.n应该大于0),保持循环继续。将n减少1。 我想你要做的是
for (int i = n; i > 0; i--) {
...
}
答案 1 :(得分:0)
在for循环的头部,你声明一个新的变量n,它被赋值为0。
您可以使用此(不推荐):
for(; n>0; n--)
或更好:
for (int i = 0; i < n; i++)
答案 2 :(得分:0)
在for循环中,您声明了一个新变量。这个变量n使得另一个n用于在for循环中获取值n不可见,因为它被覆盖。你在for循环中犯的另一个错误是你没有初始化你用来迭代的变量。所以你应该在这种情况下使用for循环,如下所示:
for (int j = 0; j < n; j++){
...
}
变量j用于进行迭代次数。在这种情况下,j从0迭代到n - 1,步长为1.这是迭代n次。您必须小心测试用户的n值以验证它是正数,否则for循环将无法正常工作。