Sar*_*hah 0 java exception-handling arraylist
我try和他有问题catch.我的程序是插入三个不同的字符串名称,地址和电话号码然后我使用toString方法将这三个转换为单个字符串.
每当我写错选项(String或其他数据类型)时,我都会遇到异常处理问题,然后捕获无限次.
import java.util.ArrayList;
import java.util.Scanner;
public class mainClass {
public static void main(String[] args) {
Scanner input= new Scanner(System.in);
ArrayList<String> arraylist= new ArrayList<String>();
CreateFormat FormatObject = new CreateFormat();
int choice;
String phoneNumber;
String name,address;
String format="Empty";
int x=1;
int flag=0;
do
{
try
{
System.out.println("Enter your choice");
System.out.printf("1:Enter new data\n2:Display data");
choice=input.nextInt();
switch (choice)
{
case 1:
{
System.out.println("Enter name ");
name=input.next();
System.out.println("Enter phone number");
phoneNumber=input.next();
System.out.println("Enter address");
address=input.next();
format=FormatObject.toString(phoneNumber, name, address);
arraylist.add(format);
flag++;
}
break;
case 2:
{
System.out.println("Name Phone number Address");
System.out.println();
for(int i=0;i<flag;i++)
{
System.out.println(arraylist.get(i));
}
}
break;
}
}
catch(Exception InputMismatchException){
System.out.println("Enter right choice");`
}while(x==1);
}
}
//The format class ...//returns format for string
Run Code Online (Sandbox Code Playgroud)
你try和你catch的循环没关系,也与你的问题无关.
while(x==1)
Run Code Online (Sandbox Code Playgroud)
是你测试的,但你永远不会改变它的值x,因此它将始终保持为1,因此上面的检查将始终返回true.
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |