簡體   English   中英

如何將JOptionPane.showInputDialog與創建的類一起使用?

[英]How do I use JOptionPane.showInputDialog with a class I created?

我是Java的新手,對不起這個問題。

我創建了一個名為Age的課程,作為退休計划的一部分。 在程序的主要方法中,如何使用JOptionPane通過創建的Age類中的setStartingAge和setRetirementAge方法詢問和設置其當前年齡和期望的退休年齡。

例如,這是創建的Age類:

public class Age
{
private int yearsToRetirement;
private int STARTING_AGE;
private int RETIREMENT_AGE;

public Age()
{
  STARTING_AGE = 0;
  RETIREMENT_AGE = 0;
}

// Parameterized Constructor
public Age(int sa, int ra)
{
    setStartingAge(sa);
  setRetirementAge(ra);
}   
public int getStartingAge()
{
    return STARTING_AGE;
}

public int getRetirementAge()
{
    return RETIREMENT_AGE;
}

public int getYearsToRetire()
{
  yearsToRetirement = RETIREMENT_AGE - STARTING_AGE;
  return yearsToRetirement;
}

public void setStartingAge(int sa)
{
    if (sa > 0)
    {   
        STARTING_AGE = sa;
    }
    else
    {
        STARTING_AGE = 0;
    }
}

public void setRetirementAge(int ra)
{
    if (ra > STARTING_AGE)
    {   
        RETIREMENT_AGE = ra;
    }
    else
    {
        RETIREMENT_AGE = 0;
    }
}

public String toString()
{
    return "Starting Age: " + getStartingAge()
  + "\nRetirement Age: " + getRetirementAge()
  + "\nYears until retirement: " + getYearsToRetire();
}
}

在主要方法中,我想做類似的事情

  Age age = new Age();
  JOptionPane.showInputDialog("Enter your current age in years(ex: 21):");
  JOptionPane.showInputDialog("Enter the age you wish to retire at:");
  JOptionPane.showMessageDialog(null, age);

如何修改上述代碼以獲取兩個輸入對話框,以將用戶的輸入傳遞給Age類中的setStarting age和setRetirementAge?

-RR

JOptionPane.showInputDialog返回您輸入的字符串。 您只需要獲取此字符串並將其轉換為整數(如果可能)。

public static void main(String[] args) {
    Age age = new Age();
    String startingAgeAsString = JOptionPane.showInputDialog("Enter your current age in years(ex: 21):");
    String retirementAgeAsString = JOptionPane.showInputDialog("Enter the age you wish to retire at:");
    try {
        age.setStartingAge(Integer.parseInt(startingAgeAsString));
    } catch (NumberFormatException e) {}
    try {
        age.setRetirementAge(Integer.parseInt(retirementAgeAsString));
    } catch (NumberFormatException e) {}
    JOptionPane.showMessageDialog(null, age);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM