Вы должны определить класс, и вы должны убедиться, что входные данные длинные, int ... как вы хотите;в противном случае ваша программа завершится с исключением.
Это исправленная версия вашего исходного кода:
package kisi_ödev;
import java.util.Scanner;
public class LoopTest {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int size_of_objectList = 2;//nesne dizisinin boyutu
Scanner input = new Scanner(System.in);//Scanner sınıfı yeni nesnesi
kisi bilgiler[] = new kisi[size_of_objectList];
try {
for (int i = 0; i < bilgiler.length; i++)//This is not working
{
bilgiler[i] = new kisi();
System.out.println("kimlik numarasını giriniz:");
bilgiler[i].kn = input.nextLong();
if (bilgiler[i].kn == 0) {
for (int j = 0; j < bilgiler.length; j++) {
if (bilgiler[j] != null) {
System.out.println("****************");
System.out.print("kimlik numrası: ");
System.out.print(bilgiler[j].kn + " ");
System.out.print("İsim: ");
System.out.print(bilgiler[j].soyad + ", ");
System.out.print(bilgiler[j].ad + " ");
System.out.println(bilgiler[j].yas + " ");
System.out.println("****************");
}
}
System.out.println("shutdown");
break;
}
System.out.println("İsminizi giriniz:");
bilgiler[i].ad = input.next();
System.out.println("Soyisminizi giriniz:");
bilgiler[i].soyad = "Yaşınızı giriniz:";
bilgiler[i].yas = input.nextInt();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
Поскольку у меня нет класса kisi, я создал пример класса:
class kisi {
public long kn;
public String ad;
public String soyad;
public int yas;
}
Вы определили количество циклов с помощью переменной size_of_objectList
;В моей версии я обновил его до 2.
Это пример выходных данных:
kimlik numarasını giriniz:
1
İsminizi giriniz:
2
Soyisminizi giriniz:
3
Yaşınızı giriniz:
4
kimlik numarasını giriniz:
0
****************
kimlik numrası: 0 İsim: 3, 2 4
****************
****************
kimlik numrası: 0 İsim: 3, 2 4
****************
shutdown
Мы прекрасно видим 2 цикла и отключение при ответе 0 на первый входloop.
Благодаря try / catch вы увидите, что исключение при синтаксическом анализе приводит к сбою вашей программы;например, набрав «не числовое значение»:
kimlik numarasını giriniz:
not a numerical value
java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextLong(Scanner.java:2222)
at java.util.Scanner.nextLong(Scanner.java:2182)
at kisi_ödev.LoopTest.main(LoopTest.java:20)