我正在尝试将参数传递给方法,但由于showKilometer(int num({ 方法已经有一个参数通过,如果 if 语句不起作用,我一直在尝试更改 showKilometer((; 显示公里(整数(;在 if-else if 语句下,但这似乎也不起作用
import java.util.Scanner;
public class a6main {
public static void main(String[] args){
double distanceMeter;
double distanceKilom;
double distanceInches;
double distanceFeet;
System.out.println("Enter a distance in meters:");
Scanner keyboard = new Scanner(System.in);
distanceMeter = keyboard.nextDouble();
while (distanceMeter <= 0){
System.out.println("Unable to atain distance less than 0,n"
+ "please enter a number grater than 0:n");
distanceMeter = keyboard.nextInt();
}
showKilometer(distanceMeter);
menu();
}
public static void menu(){
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter your choicen"
+ "1. Convert to kilometersn"
+ "2. Convert to inchesn"
+ "3. Conveert to feetn"
+ "4. Quit the program");
int choice = keyboard.nextInt();
while (choice <= 0 || choice >= 5){
System.out.println("Option unavailble, pleace select a choice from 1 - 4:n"
+ "1. Convert to kilometersn"
+ "2. Convert to inchesn"
+ "3. Conveert to feetn"
+ "4. Quit the program");
choice = keyboard.nextInt();
}
if(choice == 1)
showKilometer();
else if(choice == 2)
showInches();
else if(choice == 3)
showFeet();
else
System.out.println("Program terminated.");
}
public static void showKilometer(int num){
System.out.println(num);
}
}
代码应如下所示:
import java.util.Scanner;
public class A6Main {
public static void main(String[] args){
double distanceMeter;
double distanceKilom;
double distanceInches;
double distanceFeet;
System.out.println("Enter a distance in meters:");
Scanner keyboard = new Scanner(System.in);
distanceMeter = keyboard.nextDouble();
while (distanceMeter <= 0){
System.out.println("Unable to atain distance less than 0,n"
+ "please enter a number grater than 0:n");
distanceMeter = keyboard.nextInt();
}
// showKilometer(distanceMeter);
menu(distanceMeter);
}
public static void menu(double distance){
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter your choicen"
+ "1. Convert to kilometersn"
+ "2. Convert to inchesn"
+ "3. Conveert to feetn"
+ "4. Quit the program");
int choice = keyboard.nextInt();
while (choice <= 0 || choice >= 5){
System.out.println("Option unavailble, pleace select a choice from 1 - 4:n"
+ "1. Convert to kilometersn"
+ "2. Convert to inchesn"
+ "3. Conveert to feetn"
+ "4. Quit the program");
choice = keyboard.nextInt();
}
if(choice == 1)
showKilometer(distance);
else if(choice == 2)
showInches(distance);
else if(choice == 3)
showFeet(distance);
else
System.out.println("Program terminated.");
}
public static void showKilometer(double num){
System.out.println(num);
}
public static void showInches(double num){
System.out.println(num);
}
public static void showFeet(double num){
System.out.println(num);
}
}
您将看到我添加了其他方法来进行转换,并将距离传递到菜单中。 然后,我使用该距离传递到可以进行计算的转换方法。
希望对您有所帮助。
假设你只定义了一个没有参数的新方法。
public static void showKilometer(){
System.out.println("#### no args ####");
}