【问题标题】:How to give a letter input a number value如何给一个字母输入一个数字值
【发布时间】:2013-12-18 22:25:31
【问题描述】:

所以我正在尝试制作一个简单的程序,该程序使用用户输入,该用户输入将是字母和数字,并让程序将其作为数字读取,以便最后添加数字。让我举个例子。例如,如果用户输入 A1,我希望程序将其读取为 100,将 A2 读取为 90。最后,我希望程序添加这些值并给用户和答案。这就是我所拥有的:

public class LCCalcMain {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);

        String input1, input2, answer;
        System.out.println("1st result");
        input1 = input.nextLine();
        input1 = System.out.println("2nd result");
        input2 = input.nextLine();
        int A1, A2, B1;
        A1 = 100;
        A2 = 90;
        B1 = 85;
        answer = input1 + input2;
        System.out.println(answer); 
    }
}

所以我希望他们像 A1 一样输入,我的程序会将其读取为 100。所以我可以轻松地在最后添加所有内容并给他们一个答案。 感谢您的帮助。

【问题讨论】:

  • 您能否提出一个更具体的问题,例如 a) 您尝试了什么 b) 您预期会发生什么 c) 它是如何失败的?
  • 您不能声明多个变量,然后使用用户输入按名称选择其中一个变量。如果您希望用户输入字符串并让程序找到关联的号码,请使用HashMap
  • 我会研究哈希图,因为我不熟悉它们。

标签: java string variables calculator declare


【解决方案1】:

您可以为每个输入做一个 if/else 案例:

int currentValue1;//new variable
input1 = input.nextLine();
if("A1".equals(input1)){
    currentValue = 100;
}else if("A2".equals(input1)){
    //do another case
}else if("B1".equals(input1)){
    //do another case
}

int currentValue2;//new variable
input2 = input.nextLine();
if("A1".equals(input2)){
    currentValue2 = 100;
}else if("A2".equals(input2)){
    //do another case
}else if("B1".equals(input2)){
    //do another case
}

answer = input1 + input2;
System.out.println(answer); 

【讨论】:

  • 使用这种技术只会打印出我输入的任何内容,例如 A1 或 A2。例如,如果第一个输入是 A1,第二个输入是 A2。 A1 是 100,A2 是 90,我希望我的答案是 190。
  • 您能否在循环中使用它,直到您完成阅读并保留一个变量,您可以将结果添加到其中以获得最终答案?
  • @user3117051 我对你现在的问题有点困惑。这和你描述的完全一样。
猜你喜欢
  • 2023-04-02
  • 2012-09-13
  • 2013-06-09
  • 1970-01-01
  • 2018-12-02
  • 2022-06-11
  • 1970-01-01
  • 2014-10-31
  • 2021-01-17
相关资源
最近更新 更多