Как получить предыдущий номер через некоторое время l oop и удвоить его? Java - PullRequest
1 голос
/ 25 апреля 2020

Я делаю программу, которая должна читать целое число, а затем читать другие целые числа, пока не найдет то же самое, что и первое. Затем он должен вывести удвоенное значение предыдущего, и я не могу найти способ получить предыдущее значение.

enter code here

    Scanner scan = new Scanner(System.in);
    int n = scan.nextInt();

    while(n!=0){
        int n2 = scan.nextInt();
        if(n2==n){
            System.out.println(n2);
            break;
        }
    }

Ответы [ 2 ]

2 голосов
/ 25 апреля 2020

Вам нужно сохранить предыдущее число в переменной (например, переменная previous в следующем коде), прежде чем запрашивать следующий ввод.

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int n = scan.nextInt();
        System.out.println("Enter more numbers (the first number to stop): ");
        int previous = n;
        int next;
        while (true) {
            next = scan.nextInt();
            if (next == n) {
                System.out.println(2 * previous);
                break;
            }
            previous = next;
        }
    }
}

Пример выполнения:

Enter a number: 5
Enter more numbers (the first number to stop): 
10
15
20
25
5
50
0 голосов
/ 25 апреля 2020

Попробуйте это:

Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int previousValue = n;

while (n != 0) {
    int n2 = scan.nextInt();
    if (n2 == n) {
        break;
    }
    else
        previousValue = n2;
}
System.out.println(previousValue*2);
...