谁能帮我解决以下代码:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
我的目标是通过使用单独的输入和计算方法来使代码更简单,但我似乎无法理解如何只制作一种输入方法而不是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(); }
Run Code Online (Sandbox Code Playgroud)
但我不知道如何从这个方法中获取a和b,所以我可以在
皮塔戈尔(int x,int y)
提前致谢。
一种方法是:
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;
}
}
Run Code Online (Sandbox Code Playgroud)