Я хотел бы спросить, как мне сделать, чтобы при запуске и повторении цикла имя строковой переменной увеличилось на 1. Предполагается, что эта программа спросит вас, сколько пациентов вы собираетесь написать.Если ты пишешь для экс.10, затем цикл будет повторяться 10 раз, и он запросит всю ту информацию, которую я хочу, а затем добавит ее в массив, который я уже создал, под названием BMI.Вся эта программа должна напечатать вам таблицу, которая содержит Имя, Рост в метрах, Вес в килограммах, ваш рассчитанный ИМТ, а затем текст, в каком состоянии ИМТ вы являетесь банкоматом.Проблема в том, как мне это сделать?Я только начал изучать массивы и тому подобное, и мой учитель дал мне эту домашнюю работу.Я не думаю, что это домашнее задание сложно, но просто трудно понять, что делать.
То, что я уже пробовал, это создание цикла for с именем String с именем что-то вроде этого: String name ();но это, очевидно, не сработало.
import java.util.Scanner;
class Pacient {
public static void main(String args[]){
int pole;
Scanner input = new Scanner(System.in);
String pacient;
System.out.print("Zadej kolik bude pacientu: "); //How many patients do you want? For ex. 10
pacient = input.nextLine();
input.nextLine();
pole = Integer.parseInt(pacient);
String[][] bmi = new String[4][pole]; //This is supposed to make an array with my patients.
double vaha; //weight
double vyska; //height
String jmeno; //name
double telo1, telo2; //body for calc.
String vysledek; //result
int i,x=0,j, pa=0, k=0; //some variables
bmi[0][0] = "Jmeno"; //First line of final table NAME
bmi[0][1] = "Vaha"; // WEIGHT
bmi[0][2] = "Vyska"; //HEIGHT
bmi[0][3] = "BMI"; //BMI based on calc.
bmi[0][4] = "Text"; //Final result
for(int y=1;y<pole;y++){
pa++;
x++;
System.out.print("Zadej svoje krestni jmeno: ");
jmeno = input.nextLine();
System.out.print("Zadej svoji vahu v Kg: ");
vaha = input.nextDouble();
System.out.print("Zadej svoji vysku v m: ");
vyska = input.nextDouble();
System.out.println("Vase informace byly uspesne ulozeny! ");
bmi[1][0] = jmeno; //These values should somehow increase but idk
how atm and be assign with the patient which
will be printed at the end.
bmi[1][1] = vaha2;
bmi[1][2] = vyska2;
bmi[1][3] = telo3;
bmi[1][4] = vysledek;
}
// System.out.println("Tisknu tabulku");
// telo1 = vyska * vyska; //Some calc. of BMI
// telo2 = vaha / telo1;
// if (telo2 < 18.5) { //Adding text to the result variable
// vysledek = "mate podvahu";
// } else if (telo2 < 25) {
// vysledek = "Jste v normach";
// } else if (telo2 < 30) {
// vysledek = "Nadvaha";
// } else {
// vysledek = "Obezita";
// }
// String telo3 = String.valueOf(telo2); //Converting to strings
// String vyska2 = String.valueOf(vyska);
// String vaha2 = String.valueOf(vaha);
System.out.println("--------------------------------------------------");
for(i=0;i<pole;i++) {
for(j = 0; j<5; j++) System.out.print(bmi[i][j] + " ");
System.out.println();
}
System.out.println("--------------------------------------------------");
}
}
Atm программа просто печатает большую часть времени NULL NULL NULL NULL и не совпадает с номером пациента.Как добавить весь этот код в цикл for и сделать так, чтобы он автоматически преобразовывал int и double в строки, а затем печатал их правильно и назначал их для массива BMI.Если у вас есть дальнейшие квесты, не стесняйтесь спрашивать.