需要编写一个循环,提示用户输入大于1的值,将数字从1打印到用户为您提供的数字(即,如果用户输入5,您的程序将打印“1 2 3 4 5 “)。
我得到了循环,使用代码打印1-10的数字:
public class Loop {
public static void main(String args[]) {
int num = 0;
while(num < 10) {
num = num + 1;
System.out.print(" " + num);
}
}
}
要完成我正在考虑的代码,请将其修改为:
public class Loop {
public static void main(String args[]) {
int num = 2;
if(num <1){
System.out.print(" Num has to be greater than one");
while(num < 10) {
num = num - 1;// subtract instead of add
System.out.print(" " + num);
}
}
}
但是当我编译并执行它时,它不包括2并且还包括负数。如何让它包含输入的num并停在零
UPDATE - 正确运行代码,并进入下一步。这是声明一个开始和停止变量,并用两者之间的值打印出开始和停止变量。 即(start&lt; stop)如果start = 1且stop = 3则输出为&#34; 1 2 3&#34; 我有那个部分正在运行,但现在我需要交换启动和停止,以便如果(开始&gt;停止)它将交换值并打印出正确的输出。 即(开始&gt;停止)start = 3,stop = 1然后out仍然是&#34; 1 2 3&#34;通过交换开始和停止的值
到目前为止,这是我的代码:
System.out.println("\n");
int start = 1;
int stop = 5;
while(start <= stop){
System.out.print(start + " ");
start++;
}
答案 0 :(得分:0)
你必须从一个循环到指定的数字,所以引入一个从1到num的新变量。
将while循环替换为例如:
for (int i=1; i<num; ++i) {
System.out.print(" "+i);
}
答案 1 :(得分:0)
您必须在打印前验证您的号码
import java.util.Scanner;
//this alows you to enter your number on keyboard and validates it (>0)
Scanner sc = new Scanner(System.in);
int num = 0;
While (num <=0)
{
system.out.println("Enter a number greater then 0");
num = sc.nextInt();
}
for (int i=1;i<=num;i++){
system.out.println(" "+i);
}
答案 2 :(得分:0)
在打印之前减少“num”。因此,当您点击print语句时,您第一次进入循环时,您需要在进入循环之前进行增量:将1添加到num,以便在第一次打印时将其减少为2,或者你需要交换减量和print语句,以便在修改之前打印num。第二个你需要考虑多余的减量,以便在最后打印0。
无论哪种方式,您都希望减少修改,因此您需要在while语句中检查num为0或更大。这可能是for循环有益的情况。
对你而言,一个好方法就是手动记录你的逻辑,记录每个步骤后每个变量的值。
答案 3 :(得分:0)
如果number
为2
,那么自[{1}}
您正在检查号码是否为2<10,1<10,0<10,-1<10,-2<10....
,您还应该检查它是否为less than 10
greater than or equal to zero
取消注释以读取用户的输入
答案 4 :(得分:0)
for (int i = start; i <= stop; ++i)
system.out.println(i + " ");