抽象驴
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
兄弟,仔细看一下代码哈...
不要用2试,你用别的数字试下?除数就是0了,因为你这里调用的num为0,并不是你输入的值
5/num 不是么.... 怎么5/mat

System.out.println("5/"+num+"结果为:"+abc.mat()); 语句执行顺序的问题,num先拼接了之后才调用了mat方法
可以拆一下:
int mat = abc.mat();
System.out.println("5/"+num+"结果为:"+mat);
Java入门第三季
409776 学习 · 4546 问题
相似问题