问答详情
源自:1-9 经验总结

求大神解答!!!

谁能告诉我5/2,这个除数怎么传递,我的怎么总是5/0,学者后面忘着前面......

import java.util.InputMismatchException;
import java.util.Scanner;
import javax.print.attribute.standard.Finishings;
public class Abc {
int num=0;
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=0;
Abc abc=new Abc();
System.out.println("请输入一个值:");
try{
System.out.println("5/"+num+"结果为:"+abc.mat());
}catch (ArithmeticException e) {
// TODO: handle exception
System.out.println("输入错误:: "+e);
}
catch (InputMismatchException e) {
// TODO: handle exception
System.out.println("请输入整数 :"+e);
}
finally {
}
}
public int geter() throws InputMismatchException {
Scanner scanner=new Scanner(System.in);
num=scanner.nextInt();
scanner.close();
return num;
}
public  int  mat() {
return 5/geter();
}
}

请输入一个值:

2

5/0结果为:2


提问者:抽象驴 2019-01-23 15:46

个回答

  • qq_北纬369_0
    2019-01-24 15:14:40

    https://img4.mukewang.com/5c4965c20001ec4010850531.jpg兄弟,仔细看一下代码哈...

  • 抽象驴
    2019-01-23 18:05:18

    不要用2试,你用别的数字试下?除数就是0了,因为你这里调用的num为0,并不是你输入的值

  • qq_北纬369_0
    2019-01-23 18:01:13

    5/num 不是么.... 怎么5/mat

    https://img.mukewang.com/5c483b65000173a911800561.jpg

  • qq_北纬369_0
    2019-01-23 17:19:55

    System.out.println("5/"+num+"结果为:"+abc.mat()); 语句执行顺序的问题,num先拼接了之后才调用了mat方法

    可以拆一下:

    int mat = abc.mat();

    System.out.println("5/"+num+"结果为:"+mat);