我正在上一个在线MOOC学习Java,我唯一的问题是它来自芬兰的赫尔辛基大学,我住在美国所以在有限的时间我可以醒来在练习上寻求帮助。我目前的做法是向用户询问一个数字,然后在使用时将每个整数打印到该数字
while {
}
声明
这是我目前的代码
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int number = Integer.parseInt(reader.nextLine());
System.out.print("up to what number?:"+ number);
while (number<=number){
System.out.println(number);
number++;
}
}
而它看起来正在做的是忽略了
while (number<=number) {
System.out.println(number);
我的部分代码并直接进入
number++;
我的代码的一部分我需要声明另一个int(变量)来存储值吗?课程具有评分测试用例的方式我不能简单地声明具有确定值的变量,因为它们运行几个测试用例,如正数和负数。有没有办法使用阅读器将值存储到两个单独的变量,以便它们可以相互比较,只打印数字到那个数字?
我也知道我错过了一个
Break;
声明,但我不知道我会把它放在我有的代码中,我试图使用
} else {
break;
但得到一个错误,说明我有一个没有if的别人。我正在使用netbeans,因为它是我的课程所必需的,因为服务器提交是通过TMC设置的。
现在考虑它我肯定它不会跳过while语句但只是继续打印,因为当它打印和增量时,用户输入也会增加,因为我只有一个变量,但我又不知道我怎么会去将用户输入值存储在两个不同的变量中,我可以将它们与小于或等于语句进行比较,并在达到用户输入的数字后停止打印,在这种情况下,我不一定需要break语句,因为它会一旦打印到数字输入就停止。
回答:这是我最终想出的答案。
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.print("up to what number?:");
int numbers = 1;
int number = Integer.parseInt(reader.nextLine());
while (numbers <= number){
System.out.println(numbers);
numbers++;
}
}
你需要另一个变量来增加插入的number
int i=1;
while (i<=number){
System.out.println(i++);
}
你的循环在做什么
while (number<=number){
System.out.println(number);
number++;
}
例如number=10
所以它像这样检查10<=10
你需要这个,绝对不是。
因此,对于您的代码,您需要另一个变量来增加输入的数字。
您正在将数字与自身进行比较。所以(number <= number)
总是如此。
使用不同的变量,例如count
来实际计算。将其初始化为零。
将条件更改为(count < number)
,然后在循环中将增量更改为count++
,然后输出count
。
哦,你应该在阅读之前提示输入数字。
即你的整个计划将是:
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.print("up to what number?:");
int number = Integer.parseInt(reader.nextLine());
int count = 0;
System.out.println(number);
while (count<number){
count++;
System.out.println(count);
}
}
这样做:
public static void main(String[] args) {
int startingInt = 1; //begin printing from 1
System.out.println("Up to what number?");
Scanner reader = new Scanner(System.in);
int number = Integer.parseInt(reader.nextLine());
while (startingInt <=number){
System.out.println(startingInt);
startingInt++;
}
}
我是c#expert,所以首先请使用c#。但我知道我知道你不能总是选择你的laguagued,;)
这是解决方案,它适用于我的机器。
while (number<=number){
System.out.println(number);
number++;
if (number==arg[0]) break;
}
享受解决方案!
System.out.println("Up to what number?");
int number = Integer.parseInt(reader.nextLine());
int n = 1;
while (n <= number) {
System.out.println(n);
n++;
}