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