如何获取字符串以拒绝数字以外的数据?

时间:2018-11-20 16:31:47

标签: string double

您好,感谢您在这个问题上的宝贵时间。我将使用字符串数组显示用户提示的数据提示,但是由于我需要计算currentCGPA和targetCGPA的平均和,因此程序需要将所有String数据转换为double数据。问题是当我输入数字以外的内容时,程序由于无法转换而以运行时错误终止。

我想使它更易于用户重试,但是不幸的是,我遇到的最棘手的解决方案是使用“ if”方法。我应该把if放在什么条件下?

    String answer;
    //do{
        for (int row=1; row<21; row++){
            System.out.print("Enter name: ");
            String name = scan.nextLine();
            this.students[row][0]=name;

            System.out.print("Enter current CGPA: ");
            String currentCGPA = scan.nextLine();
            this.students[row][1]=currentCGPA;
            this.cCGPA = Double.parseDouble(currentCGPA);
            /*if (??){
                System.out.println("Wrong Data Entered");
                System.out.print("Enter Again? (y/n)");
                answer = scan.next();
                break;
            }*/

            System.out.print("Enter target CGPA: ");
            String targetCGPA = scan.nextLine();
            this.students[row][2]=targetCGPA;
            this.tCGPA = Double.parseDouble(targetCGPA);

            System.out.println();
        }
    //}while(answer.equals("y"));

0 个答案:

没有答案