如何从一个数组中选择一个值?

3
我该如何从数组中选择一个值?例如,这里有一个数组:String[] ans = {"+", "-", "/", "*"};,我想选择"+"
public static void main(String[] args) {
    String[] ans = {"+","-","/","*"};
    Random random = new Random();
    Scanner calcu = new Scanner(System.in);
    System.out.print("Enter First number: ");
    numOne = calcu.nextInt();
    System.out.print("Enter Second number: ");
    numTwo = calcu.nextInt();
    System.out.print("Choose an Operator to use");

}
8个回答

6
您可以使用ans [0]表示“+”等操作。
ans[0] = "+";
ans[1] = "-";
ans[2] = "/";
ans[3] ="*";

在您的情况下,以下代码可以帮助您:
     public static void main(String[] a) {

        String[] ans = {"+","-","/","*"};
        double result = 0;
        Scanner calcu = new Scanner(System.in);
        System.out.print("Enter First number: ");
        int numOne = calcu.nextInt();
        System.out.print("Enter Second number: ");
        int numTwo = calcu.nextInt();
        System.out.print("Choose an Operator to use");
        String oparation= calcu.next();

        if(oparation.equals(ans[0])){
           result = numOne + numTwo;
        }
        else if(oparation.equals(ans[1])){
            result = numOne - numTwo;
        }
        else if(oparation.equals(ans[2])){
            result = numOne / numTwo;

        } else if(oparation.equals(ans[3])){
            result = numOne * numTwo;
        }
        System.out.println("result is " + result);

   }

如果你想使用 switch 语句来获得相同的结果:
public static void main(String[] a) {

        double result = 0;
        Scanner calcu = new Scanner(System.in);
        System.out.print("Enter First number: ");
        int numOne = calcu.nextInt();
        System.out.print("Enter Second number: ");
        int numTwo = calcu.nextInt();
        System.out.print("Choose an Operator to use");
        String oparation= calcu.next();

        switch(oparation){
            case "+" :
            result = numOne + numTwo;
            break;

            case "-" :
            result = numOne - numTwo;
            break;

            case "/" :
            result = numOne / numTwo;
            break;

            case "*" :
            result = numOne * numTwo;
            break;
        }
        System.out.println("result is " + result);

   }

然而,使用 switch 语句时,如果你想比较变量像 case ans[0]: 而不是 case "*",那么你可以使用 enum


如果我想让用户使用扫描器输入选择“-”运算符,我该怎么办?请帮帮我,我是Java的新手。:( - Angela Vinagrera
@AngelaVinagrera 你需要使用if条件语句来检查。 - Madhawa Priyashantha
@AngelaVinagrera 当你说“选择要使用的运算符”时,你希望用户输入什么?用户输入1、2、3、4来选择运算符还是+、-、/、*? - Madhawa Priyashantha
用户将根据自己的选择输入 +、-、/、* 运算符。 - Angela Vinagrera

3
你现在的实现方式需要向用户显示这样一个列表:
1: +
2: -
3: /
4: *

当他们选择一个数字时,您可以使用ans[input-1]确定运算符。


3
你可以通过以下方式使用“get”方法访问它:
ans[i]; // for getting first element you should set i to 0

3

ans[indexThatYouWantToaccess] 确保数组索引从0开始

ans[0] -> +
ans[1] -> -
ans[2] -> /
ans[3] -> *

3
要引用数组中的单个项,请使用带有要引用的项的位置的括号,从0开始。因此,string txt = ans[0];将产生+string txt = ans[2];将产生/

3
你有一个数组,如下所示:String[] ans = {"+","-","/","*"}。这意味着从array.length-1的数组索引包含您插入到数组中的元素,因此要从数组中获取元素,只需迭代该数组或通过数组的索引获取该元素。
for(String value : ans){
            System.out.println(value);
        }

或者

for(int i=0;i<ans.length-1;i++){
            System.out.println(ans[i]);
        }

或者简单

String value = ans[index];//index must be from 0 to arrayLength-1
System.out.println("value "+value);

2

ans[0]将返回数组的第一个元素(0代表第一个元素从0开始,而不是1),ans[1]将返回第二个元素,以此类推..


2

通过引用其元素的索引,您可以从数组中选择一个值。数组元素(数组内部的内容)从0到数组长度-1进行编号/索引。

在这种情况下,如果您想要选择数组的第一个元素,则应执行以下操作:

ans[0]

如果你想获取数组的最后一个元素:
ans[ans.length-1]

请查看这个指南,了解有关数组的简介。 http://www.cs.cmu.edu/~adamchik/15-121/lectures/Arrays/arrays.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接