num1=num1 - num2;} else if(mul){ num1=num1 * num2;} else if(div){ num1=num1 / num2;} resultField.setText(String.valueOf(num1)); end=true; } } public void sign(int s){ if(s==1){ add=true; sub=false; mul=false; div=false; } else if(s==2){ add=false; sub=true; mul=false; div=false; } else if(s==3){ add=false; sub=false; mul=true; div=false; } else if(s==4){ add=false; sub=false; mul=false; div=true; } num1=Double.parseDouble(resultField.getText()); end=true; } public static void main(String[] args){ Calculater th1=new Calculater(); th1.show(); } } 输出结果 《JAVA程序设计》实验报告6
姓名 杨仕琴 学号 54121022 日期 10.13 实验题目 输入若干个整数,并求和,直到遇到结束标志999为止。在输入的过程中,自动忽略掉输入的非整数;通过对负数产生异常的方式, 程序初稿忘记保留了,基本上实现了要求但是忽略了自动忽略非整数这一点。对负数的自定义异常也有点问题。 程序初稿 所遇问题 及 看书解决的自定义异常 解决办法 package unit6; import java.util.InputMismatchException; 调试后的import java.util.Scanner; 程序代码 public class Sumget { } break; if (i >= 0) { if (i != 999) { sum = sum + i; System.out.println(sum); public static void goOn() throws MyException { while (sum >= 0) { try { Scanner sc = new Scanner(System.in); i = sc.nextInt(); private static int i; private static int sum; } catch (InputMismatchException e) { } i = 0; } else { } else { throw new MyException(i, sum); } } } public static class MyException extends Exception { public MyException(int i1, int sum1) throws MyException { } i1 = 0; i = i1; sum = sum1; goOn(); public static void main(String[] args) { Sumget sumget = new Sumget(); } try { sumget.goOn(); } catch (MyException e) { } e.printStackTrace();