求大神解答!!!

来源:1-9 经验总结

抽象驴

2019-01-23 15:46

谁能告诉我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


写回答 关注

4回答

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

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

    qq_北纬3... 回复抽象驴

    额...你可以更新一下提问的代码么...

    2019-01-24 17:30:10

    共 4 条回复 >

  • 抽象驴
    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

    抽象驴

    你这里的num值始终都是初始值0

    2019-01-24 10:04:54

    共 1 条回复 >

  • 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);

    抽象驴

    试了,不对, int mat = abc.mat(); System.out.println("5/"+num+"结果为:"+mat);如果这样操作的话,5/mat,这时的mat相当于结算后的结果,我输入2是没问题,因为结果就是2,但是如果输入1的话结果是5,5/后面跟的也是5

    2019-01-23 17:30:13

    共 2 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题