遇到的一道编程题,关于循环

img


我的答案

img

为什么不对啊

我这里有两种方法,也不知道符合题意不,但是运行结果都是没有问题的,


public static void main(String[] args) {
        Scanner jr = new Scanner(System.in);
        int a=0,b=0,c=0;
        //方法一 ,给他加上一个循环,实现多次输入达到多组输入
        /*while(true){
            System.out.print("input a=");
            a = jr.nextInt();
            System.out.print("input b=");
            b = jr.nextInt();
            System.out.print("input c=");
            c = jr.nextInt();
            int num = 3*a + 2*b + c;
            System.out.println(num);
            System.out.println("请选择是否退出,输入Yes或者Y");

            String chang = jr.next();
//            设置一个退出输入按钮
            if(chang.equals("Yes") || chang.equals("Y")){
                break;
            }
        }*/
        //方法二:一次性输入完整数据,采用数组存储
        System.out.println("请输入(用空格隔开):");
        String s = jr.nextLine();
        //这里下面的” “可选,假如你习惯用,隔开就在split使用,就可以了
        String[] ss = s.split(" ");
        int[] arr = new int[ss.length];
        for (int i = 0; i < arr.length; i++) {
            //强制转换成int类型,方便计算
            arr[i] = Integer.parseInt(ss[i]);
        }
        for (int i = 0; i < arr.length; i++) {
            if(i%3==0){
                a=arr[i];
            }
            else if(i%3==1){
                b=arr[i];
            }
            else if (i%3==2){
                c = arr[i];
            }
            if(i>0 && i%3==2){
                int num = 3*a + 2*b + c;
                System.out.println(num);
            }

        }
    }

方法一截图

img

方法二截图

img

题目要求多组输入,你这代码只能输入一组啊


public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入:");
        String s = sc.nextLine();
        String[] s1 = s.split(" ");
        int[] arr = new int[s1.length];
        for (int i = 0; i < s1.length; i++) {
            String str = s1[i];
            arr[i]= Integer.parseInt(str);
        }
        int sum = arr[0]*3+arr[1]*2+arr[2];
        System.out.println("总分为:"+sum);
}