Java 如何使此循环运行?
我的第一个for循环不工作。 我尝试了while循环,但它也不起作用。 这个代码有什么问题 for循环程序的İnside为对象数组内部创建一个对象,并从用户处获取变量Java 如何使此循环运行?,java,for-loop,Java,For Loop,我的第一个for循环不工作。 我尝试了while循环,但它也不起作用。 这个代码有什么问题 for循环程序的İnside为对象数组内部创建一个对象,并从用户处获取变量 package kisi_ödev; import java.util.Scanner;//input almak için kullanılacak olan sınıf için çağrılan kütüphana class kisi //kisi sınıfı { public long kn;
package kisi_ödev;
import java.util.Scanner;//input almak için kullanılacak olan sınıf için çağrılan kütüphana class kisi //kisi sınıfı { public long kn; //private değişkenkleri public yaptım public String ad, soyad; public int yas; } /** * * @author OZAN */ public class Kisi_ödev {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int size_of_objectList=1;//nesne dizisinin boyutu
Scanner input=new Scanner(System.in);//Scanner sınıfı yeni nesnesi
kisi bilgiler[]=new kisi[size_of_objectList];
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=input.next();
System.out.println("Yaşınızı giriniz:");
bilgiler[i].yas=input.nextInt();
}
}
}
kisi_ödev包;
导入java.util.Scanner//输入almak için kullanılacak olan sınıf içinçağrılan kütüphana class kisi//kisi sınıfıfıolan sınıfıfıfım public String ad,soyad;public int yas}/**@作者OZAN*/public class kisiıdev{
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args){
int size_of_objectList=1;//nesne dizisinin boyutu
扫描仪输入=新扫描仪(System.in);//扫描仪sınıfıyeni nesnesi
kisi bilgiler[]=新的kisi[对象列表的大小];
对于(int i=0;i您必须定义类,并且您应该确保输入是长的,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();
}
}
}
您使用objectList的size\u定义了循环计数;在我的版本中,我将其更新为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
我们可以很好地看到这两个循环,以及在对循环的第一个输入回答0时的关闭
多亏了try/catch,您将看到解析异常导致程序失败;例如键入“not a numeric value”:
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)
欢迎来到Stack Overflow!请看一看,并通读,特别是和。请添加完整的错误消息和a-如何观察到您的代码不工作?请解释。顺便说一句,您似乎错过了类声明class YourClassName{
。我不确定创建此问题时是否存在复制粘贴错误,或者您的代码中是否真的没有该错误。@Ozan On Stackoverflow您可以给人们提供有用的答案,以感谢他们,并从所有答案中选择任何一个。
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)