毕达哥拉斯定理的代码优化

时间:2014-05-06 16:19:44

标签: java math methods

任何人都可以帮助我使用以下代码:

import java.math.*;
import java.util.Scanner;

public class Pitagor {
public static void main (String[] args){
    System.out.println(pitagor(in1(),in2()));

}
public static int in1 (){
    Scanner input = new Scanner(System.in);
    System.out.println("Eingabe von a  ");
    int a = input.nextInt();

    return a;
}
public static int in2 (){
    Scanner input = new Scanner(System.in);
    System.out.println("Eingabe von b");
    int b = input.nextInt();

    return b;
}
public static double pitagor (int x , int y){
    double c = Math.sqrt((x*x)+(y*y));
    return c;
}
}

我的目标是通过使用单独的输入和计算方法使代码更简单,但我似乎无法理解如何只使用一个输入方法而不是 in1() in2()

我试过的是:

public static void in (){
Scanner input = new Scanner(System.in);
System.out.println("Eingabe von a  ");
int a = input.nextInt();
Scanner input = new Scanner(System.in);
System.out.println("Eingabe von b");
int b = input.nextInt(); }

但我不知道如何从此方法获取 b ,因此我可以在

中使用它们
  

pitagor(int x,int y)

提前致谢。

1 个答案:

答案 0 :(得分:4)

一种方法:

import java.math.*;
import java.util.Scanner;

public class Pitagor {
    public static void main (String[] args){
        System.out.println(pitagor(getIntInput("Eingabe von a  "),getIntInput("Eingabe von b")));

    }
    public static int getIntInput(String prompt){
        Scanner input = new Scanner(System.in);
        System.out.println(prompt);
        return input.nextInt();
    }
    public static double pitagor (int x , int y){
        double c = Math.sqrt((x*x)+(y*y));
        return c;
    }
}