如何使扫描仪输入无限期地存储最后2个值?

时间:2015-11-11 10:11:28

标签: java input

我的问题是 - 如果我有两个声明的变量

    int number1=0
    int number2=0

我有输入(假设我事先声明了类和方法):

    System.out.println("Please enter a number between 0 and 20");
        number1 = scanner.nextInt();

如何制作它以便存储最后2个值,以便我可以使用它们?我知道使用这两行代码我可以在number1中存储一个值,但我希望number1number2始终是输入的最后两个值。我是否使用循环?

我仍然是初学者,并试图了解所以我可能完全没有关于扫描仪如何工作的事情。

4 个答案:

答案 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;