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

时间:2014-08-10 05:32:11

标签: java arrays

如何从数组中选择值?示例是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 个答案:

答案 0 :(得分: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

答案 1 :(得分:3)

您实施它的方式,您需要向用户显示这样的列表:

1: +
2: -
3: /
4: *

当他们选择一个号码时,您可以使用ans[input-1]确定运营商。

答案 2 :(得分:3)

您可以通过 get 方法访问它,如下所示:

ans[i]; // for getting first element you should set i to 0

答案 3 :(得分:3)

ans[indexThatYouWantToaccess]确保数组索引以0开头

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

答案 4 :(得分:3)

要引用数组中的单个项目,请使用括号表示要引用的项目的位置,从0开始。

所以

string txt = ans[0];会产生+

string txt = ans[2];会产生/

答案 5 :(得分:3)

您将数组设为String[] ans = {"+","-","/","*"};,这意味着从zeroarray.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);

答案 6 :(得分:2)

ans[0]将返回第一个元素(0,因为第一个元素以0开头,而不是1开始)元素,ans[1]第二个元素,依旧等等。

答案 7 :(得分:2)

通过引用其元素的索引从数组中选择一个值。数组元素(数组中的内容)从数组的0到length-1编号/索引。

在这种情况下,如果你想要你的数组的第一个元素:

ans[0]

如果你想要数组的最后一个元素:

ans[ans.length-1]

查看本指南,了解阵列的精彩介绍。 http://www.cs.cmu.edu/~adamchik/15-121/lectures/Arrays/arrays.html