//继承我的代码
public static String askQ(String str)
{
Scanner M = new Scanner(System.in);
System.out.println(str);
String ans = M.nextLine();
return ans;
}
//程序的这一部分是一个重复的问题方法
public static int getValues(int First, int Second)
{
First = Integer.parseInt(askQ("First Number"));
Second = Integer.parseInt(askQ("Second Number"));
return First;
return Second;
//尝试返回第二个时出错
}
//此部分需要从输入中获取值,以便稍后在计算器中使用
答案 0 :(得分:2)
您无法从方法返回两个值。相反,将值封装在类中并实例化它。
public class Holder {
private int first;
private int second;
// getters, setters, and constructors
}
相应地更改方法
public static Holder getValues(int first, int second)
{
first = Integer.parseInt(askQ("First Number"));
second = Integer.parseInt(askQ("Second Number"));
Holder holder = new Holder();
holder.setFirst(first);
holder.setSecond(second);
return holder;
}
请注意,java约定声明变量名称应以小写字符开头。此外,如果您要覆盖它们,则将参数传递给此方法没有意义。摆脱你的方法参数并将它们声明为局部变量
public static Holder getValues()
{
int first = Integer.parseInt(askQ("First Number"));
int second = Integer.parseInt(askQ("Second Number"));
Holder holder = new Holder();
holder.setFirst(first);
holder.setSecond(second);
return holder;
}
此外,您可能应该为类及其字段提供更有意义的名称,具体取决于您的上下文。
答案 1 :(得分:0)
你应该只调用该方法两次:
public int getQuestionValue(String questionToAsk)
{
answer = Integer.parseInt(askQ(questionToAsk));
return answer;
}
//.... how to call it....
int answerOne = getQuestionValue("First Number");
int answerTwo = getQuestionValue("Second Number");