Scanner int 数据错误后 重新输入

public int[] insertData() {

            System.out.println("要儲存的成績的數量");

            Scanner input = new Scanner(System.in);

            int k = input.nextInt();

            int[] a = new int[k];

            for (int i = 0; i < a.length - 1; i++) {

                    System.out.println("请输入第" + (i + 1) + "个数据:");

            try {

                    a[i] = input.nextInt();

            } catch (InputMismatchException e) {

                                System.out.println("输入的数据格式有误,不能有非数字!");

                                input.next();

                                i--;

                                continue;

                }

        }

            return a;

  }

// 开始的 int k   如果K 输入的是  字母  我不会处理。。。

jimam
浏览 869回答 2
2回答

慕设计2395807

RNSCWKNEEFZMICOYFMGGGUSVSMSMLMCWDOAHYPSMXXRVWWFYVAUEUVMWCMXBIQVVMQMSMZGMLJZCWZRYJPANNULILVFFMCWDUGQVBVFIZFJPTUBNKVMGDXNOVTQJDUCGTAULLHEWCXEOFPWUKNYVFJXXDDAAAVSMICSEVUTJJWHNEOPZPIOZMTWGXHJYBJJWLFLWGQZPFQJTQHQQKBXHRVPPAUOHICSCZJXBKEFHXKQLYYOHEVMVIFPEOLVBFBPSFJESYLMSMYNEYBMSZGGCNNBUURIBYVJMCCUEXRHEVYEFZCATVSDGRHAOBTJRMZQTGJNKXUVSBLSLUVCMOIZTTEAUMDXOFVMWHADHBBFMTKNIVIFPCICVSZQJTLLIPJMJGOXWDTKHUTJJNMFJJGZQKHUAADQJWNNRBVTMFQPTAWGADAQBOVPGGNEOTSMDQABVIIWOYLLICGKRBEHNHBICCXUNXLYHVYFPGNHYUNUFSVSTAVZSBWDDTGTXUKQKGDLLCWNKHMFRZZPMDNHRKWTXGADHQHOKXBHRWZJNANTSSSSFPHUKLNTHBVVFQWXDGZAHHNEMDJQLUAHSJZZFGMRHXXXUJQJGQAILOYEEORIFRIVLFMWWTPPHKDKRPHGXHOXXJNTQXDXKUNKNAGATZWTKGZCJFTISMMTGVWQRYDLQNKKHNUQHQKAEHILUNNMZMZWDVLLQQKKKNUKIUERBHZZZJZGQRNBRYSZXENOOLBBPCLSSWCVQQDTWMWDRJFNDERZYVVANQGXNKQSZZRDTKLYYVVMPQWGMQZYPIVVFLOYELLEJJJLQKBKAYEEVBLUHSJXKAARCEDFCMCDQPGDSRAXNXAEQEHSYISISFJWNGAAJWGQUHAZP

安浪创想

把Scanner 那个流程封装成一个函数,判断输入是否是int值,不是的话再次调用函数。否则叫用户继续输入,直到获取k是int类型再进行下面的操作。具体实现靠你自己啦。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java