我的问题是 - 如果我有两个声明的变量
int number1=0
int number2=0
我有输入(假设我事先声明了类和方法):
System.out.println("Please enter a number between 0 and 20");
number1 = scanner.nextInt();
如何制作它以便存储最后2个值,以便我可以使用它们?我知道使用这两行代码我可以在number1
中存储一个值,但我希望number1
和number2
始终是输入的最后两个值。我是否使用循环?
我仍然是初学者,并试图了解所以我可能完全没有关于扫描仪如何工作的事情。
答案 0 :(得分:2)
这里所需的逻辑是:
number1
复制到number2
; scanner.nextInt()
复制到number1
。所以你的价值观会在一个位置上移动。这可以实现如下:
number2 = number1; // Now number1 == number2 temporarily.
number1 = scanner.nextInt();
答案 1 :(得分:0)
您可以使用临时值
document.getElementById("intro").innerHTML = "test";
答案 2 :(得分:0)
这里你去:
import java.util.*;
public class WhateverItIsYouWantToDo {
private static int number1;
private static int number2;
private static boolean blank = true;
public static void main(String args[]) {
System.out.println("Please enter a number between 0 and 20");
Scanner console = new Scanner(System.in);
do {
if (blank == true) {
number1 = console.nextInt();
blank = false;
} else {
number2 = number1;
number1 = console.nextInt();
}
} while (true); //note: this means the code will not terminate. you
// might want to make some way to make the code terminate at some point,
// or just do it manually.
}
主要方法的内容应该这样做。如果你想用另一种方法做到这一点,只需将main的内容复制并粘贴到另一种方法中即可。
答案 3 :(得分:0)
我不确定你的意思
最后2个值
我考虑了两种情况:
1.-你想继续向用户询问新的输入,直到出现类似特殊输入值的事情,而不是像这样做一个循环:
int number1=0;
int number2=0;
boolean continueAsking = true;
Scanner scan = new Scanner(System.in);
while(continueAsking)
{
System.out.println("Please enter a number between 0 and 20");
number1 = scan.nextInt();
scan.reset();
System.out.println("Please enter a number between 0 and 20");
number2 = scan.nextInt();
scan.reset();
if(/*number1 or number2 is something you want*/)
{
continueAsking = false;
}
}
2.-你想要做的另一种方式(我确定你想要的比你想要的更多1)可以将number1
复制到number2
而不是设置数字1的新值
int input = scanner.nextInt();
number2 = number1;
number1 = input;