所以,我还是Java新手,虽然我一直在练习使用BlueJ,但我在程序中遇到了重复。我需要帮助以最简单的方式理解这一点,如果可能的话,建议如何将这些代码更改为更简单的解释方法:)
import java.util.*;
public class Name //This program has a separate main class
{
public static String FirstName;
public static String LastName;
public static String FullName = FirstName + (" ") + LastName;
public static String Choice;
static Scanner userInput = new Scanner(System.in);
public void callName(){ }
public Name () {
System.out.print("Enter your first name: ");
if(userInput.hasNextLine()){
this.setFirstName(userInput.nextLine());}
System.out.print("Enter your last name: ");
if(userInput.hasNextLine()){
this.setLastName(userInput.nextLine());}
System.out.println("Hello there, " + FirstName + " " + LastName + " :3");
new Scanner(System.in).nextLine();
System.out.println("\nWould you like to know your:");
System.out.println("A. BMI");
System.out.println("B. Grades for Major Subjects");
System.out.println("If none, Press X to exit.");
if(userInput.hasNextLine()){
this.setChoice(userInput.nextLine());}
if(userInput.hasNextLine()){
BMI show = new BMI();
show.sayBMI();
}
}
public String getFirstName() {
return FirstName;
}
public void setFirstName(String FirstName){
this.FirstName = FirstName;
}
public String getLastName(){
return LastName;
}
public void setLastName(String LastName){
this.LastName = LastName;
}
public String getChoice(){
return Choice;
}
public void setChoice(String Choice){
this.Choice = Choice;
}
}
它与另一个名为BMI的类连接起来,我还没有完成它,因为我在意识到它不断重复之后暂停了它;
import java.util.*;
public class BMI extends Name //Again, this program has a separate MAIN class that executes the entire thing
{
public void sayBMI(){}
private static int Feet;
private static int Inch;
public static double Height;
public static double Weight;
static Scanner userInput = new Scanner(System.in);
public BMI()
{
System.out.println("So you want to know your BMI, " + FullName + "?");
}
}
当我执行程序时,它运行如下:
“输入您的名字:Franz 输入您的姓氏:Sarmiento 你好,Franz Sarmiento:3
你想知道你的: A. BMI B.主要科目的成绩 如果不是,请按X退出。 甲
输入您的名字:输入您的姓氏: 那你好,:3“
我停在那里因为它是连续的。
提前致谢! :)
答案 0 :(得分:0)
快速查看您的问题是因为您从BMI扩展名称。
public class BMI extends Name
继承:从另一个类派生的类称为子类,并继承其超类的所有字段和方法。
只需删除扩展名称部分,您的程序就应该停止循环。
public class BMI
我希望这能解决你的问题,祝你好运。