Java 2个循环1个递减变量
我有一个赋值,它调用一个输入整数,然后它将该整数递减到1 它必须使用while循环来显示该数字,一直显示到1,并且在另一行上使用for循环来执行相同的操作 现在,在启动while循环之后,for循环的输出不会显示。显然,因为在while循环之后startNum现在设置为0 我怎样才能绕过这个问题,以便在两行上显示递减的数字? 我目前拥有的代码:Java 2个循环1个递减变量,java,loops,for-loop,while-loop,Java,Loops,For Loop,While Loop,我有一个赋值,它调用一个输入整数,然后它将该整数递减到1 它必须使用while循环来显示该数字,一直显示到1,并且在另一行上使用for循环来执行相同的操作 现在,在启动while循环之后,for循环的输出不会显示。显然,因为在while循环之后startNum现在设置为0 我怎样才能绕过这个问题,以便在两行上显示递减的数字? 我目前拥有的代码: public class CountDown { public static void main(String[] args) {
public class CountDown
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
int startNum = input.nextInt();
System.out.println("WHILE LOOP: ");
while (startNum > 0)
{
System.out.print(startNum + " ");
startNum--;
}
System.out.println("\nFOR LOOP:");
for (int x = 0; x < startNum; x++)
{
System.out.print(startNum + " ");
}
}
}
公共类倒计时
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
System.out.print(“输入一个数字:”);
int startNum=input.nextInt();
System.out.println(“WHILE循环:”);
while(startNum>0)
{
系统输出打印(startNum+“”);
startNum--;
}
System.out.println(“\n循环:”);
对于(int x=0;x
在for
循环之前,使用另一个变量将startNum
重置回其原始值
// ...
int startNum = input.nextInt();
int reset = startNum;
// ...
startNum = reset;
for (int x = 0; x < startNum; x++)
// ...
/。。。
int startNum=input.nextInt();
int reset=startNum;
// ...
startNum=重置;
对于(int x=0;x
像这样做:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
int startNum = input.nextInt();
System.out.println("WHILE LOOP: ");
int temp = startNum; // store startNum in temp variable
while (startNum > 0) {
System.out.print(startNum + " ");
startNum--;
}
System.out.println("\nFOR LOOP:");
for (int x = temp; x >0 ; x--) { // here iterate through temp.
System.out.print(x + " ");
}
}
因为Java支持
OOP
和原语在Java
中通过值传递
为什么不创建一个类并将其命名为Num
public class Num {
private int startNum;
public Num() {
startNum = 0;
}
public int getStartNum() {
return startNum;
}
public void setStartNum(int startNum) {
this.startNum = startNum;
}
}
Dirver类成为:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Num n = new Num();
System.out.print("Enter a number: ");
n.setStartNum(input.nextInt());
System.out.println("WHILE LOOP: ");
int counter = n.getStartNum();
while (counter > 0) {
System.out.print(counter + " ");
counter--;
}
System.out.println("\nFOR LOOP:");
for (int x = 0; x < n.getStartNum(); x++) {
System.out.print(x + " ");
}
}
将用户输入存储在第三个变量中,例如。。。用户输入。然后在每次循环之前将startNum设置为userInput。你在这里问你的学校作业吗?Mark W:好吧,这很有效……我已经考虑过这个问题了。谢谢你的帮助。DKSRathore:不幸的是,虽然我认为这是不受欢迎的…是的。但在这个例子中,我只是问我的代码有什么错误或遗漏。@ihaveacode我发布了我的答案,让我知道你的想法it@DKSRathore . 脱离主题的(我们通常看到的)是a)复制/粘贴作业问题,b)不显示代码(因为他们通常没有代码)和/或c)没有特定问题(除了作业问题所说的以外)。这里的OP并没有复制/粘贴他们的作业,提供了他们的代码,并给出了一个具体的问题——就我所知,所有这些都是关于这个主题的。
Enter a number: 8
WHILE LOOP:
8 7 6 5 4 3 2 1
FOR LOOP:
0 1 2 3 4 5 6 7