Rumah  >  Soal Jawab  >  teks badan

java - 提示用户输入两个数,并输出这两个数的平均值(若输入个数或格式有误,提示用户输入错误),使用try,catch,finally报错

阿神阿神2765 hari yang lalu696

membalas semua(2)saya akan balas

  • 天蓬老师

    天蓬老师2017-04-18 10:45:47

    import java.util.Scanner;
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class Test {
        public static void main(String[] args) throws IOException {
            Test t = new Test();
            t.waitInput();
            System.out.println("Average Value:" + t.average());
        }
    
        private double num1;
        private double num2;
    
        public void waitInput() throws IOException {
            while (true) {
                System.out.printf("Please enter two numbers:(Separated by spaces)\n");
                BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
                String line = reader.readLine();
                String[] parts = line.trim().split("\s+");
    
                if (parts.length < 2) {
                    System.out.println("ERROR: incorrect input");
                    continue;
                }
    
                try {
                    num1 = Double.parseDouble(parts[0]);
                    num2 = Double.parseDouble(parts[1]);
                    break;
                } catch (NumberFormatException e) {
                    e.printStackTrace();
                }
            }
        }
    
        public double average() throws IOException {
            return (num1 + num2) / 2;
        }
    }

    balas
    0
  • ringa_lee

    ringa_lee2017-04-18 10:45:47

    Objek BufferedReader dijana setiap kali dalam gelung while dan tidak ditutup?

    balas
    0
  • Batalbalas