Ввод из консоли несколько раз, через цикл while
Я реализовал возможность добавления корней уравнения в консоль только один раз, подскажите пожалуйста, как сделать ввод из консоли несколько раз, через цикл while
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
double a, b, c, D;
System.out.println("Дано квадратное уравнение");
System.out.println("ax^2 + bx + c = 0");
System.out.println("Введите a, b и c:");
Scanner in = new Scanner(System.in);
a = in.nextDouble();
b = in.nextDouble();
c = in.nextDouble();
D = b * b - 4 * a * c;
if (D > 0) {
double x1, x2;
x1 = (-b - Math.sqrt(D)) / (2 * a);
x2 = (-b + Math.sqrt(D)) / (2 * a);
System.out.println("Корни уравнения: x1 = " + x1 + ", x2 = " + x2);
} else if (D == 0) {
double x;
x = -b / (2 * a);
System.out.println("Уравнение имеет один корень: x = " + x);
} else {
System.out.println("Уравнение не имеет корней!");
}
}
Ответы (1 шт):
Автор решения: ACTPOHOM
→ Ссылка
самое простое как можно реализовать:
Scanner in = new Scanner(System.in);
a = in.nextDouble();
Scanner in = new Scanner(System.in);
b = in.nextDouble();
Scanner in = new Scanner(System.in);
c = in.nextDouble();
если вы желаете через цикл то попробуйте так:
int i=1;
do{
Scanner in = new Scanner(System.in);
if(i==1)
{
a = in.nextDouble();
}
if(i == 2)
{
b = in.nextDouble();
}
if(i == 3)
{
c = in.nextDouble();
}
i++;
}while(i < 3)
выглядит конечно не очень, но если вам принципиально через while то можете так.
Можете так же записать вводимые данные в массив и потом вызывать из массива определенные позиции где хранятся данные. Пример myArray[a,b,c]
double[] myArray = new int[2];
i=0;
do{
Scanner in = new Scanner(System.in);
myArray[i] = in.nextDouble();
i++;
}while(i!=3)
D = myArray[1] * myArray[1] - 4 * myArray[0] * myArray[2]; //D = b * b - 4 * a * c;