Java - 将变量内容设置为新变量名称

时间:2012-07-24 15:56:24

标签: java string variables for-loop

println("This program allows you to enter your exam results!");
    int n0 = readInt("How many exam results do you have? ");
    for (int n=1; n<=n0; n++) {
        String r0 = "r"+n;
        int result = readInt("Result "+n+": ");
        println(r0);
    }

我是java的新手,我想知道是否可以将'String r0'变量的内容设置为'int result'变量的名称(而不是结果)。

我希望这样做,因为我的程序将有多个'int结果',我将需要稍后使用每个单独的结果用于算术目的。

4 个答案:

答案 0 :(得分:3)

我认为你真正需要做的是拥有一个集合或数组的结果。任何时候你认为你需要这样的东西:

int r0 = ...;
int r1 = ...;
int r2 = ...;

等。那么很好的迹象表明你正在寻找某种收藏品。

因此,在上面的示例中,您将构建一个大小的检查结果数的数组,然后依次填充数组的每个元素。

这是Java array tutorial。如果只是为了比较/对比,它也值得看Java collection tutorial

答案 1 :(得分:1)

即使你可以,我也不认为这是一个非常好的主意!要让他们稍后再回过头来讨论他们将是一场噩梦。

在您的情况下,我建议您使用int数组作为结果。

答案 2 :(得分:0)

1。首先不要声明 r0 as String 打算将其用作 integer,但声明它可以int,你可以转换        使用Integer.parseInt() 字符串为整数

<强>例如

String r0 = "10";
int r = Integer.parseInt(r0);

2。我建议您使用收集框架在java中存储多个数据,因为它提供了很好的灵活性< / strong>即可。使用ArrayList<Integer>

<强>例如

ArrayList<Integer> arr = new ArrayList<Integer>();

    for (int n=1; n<=10; n++) {

      arr.add(n);
}

答案 3 :(得分:0)

下面我有一个可行的程序。我会复制代码并尝试自己重写,以确保您完全理解发生了什么。

import java.util.Scanner;
public class Arrays 
{
    public static void main(String[] args)
    {
        // Initialize Variables
        int examCount = 0;
        double examSum = 0;
        Scanner input = new Scanner(System.in);


        // Prompt The user For Number Of Exams And Recieve Value
        System.out.print("Number Of Exams?  ");
        examCount = input.nextInt();


        // Create An Array That Is The Length Of The Number Of Exams And Holds Double Values
        double[] exams = new double[examCount];


        // Read In All Exam Scores. A For Loop Is Used Because You Know How Many Scores There Are
        for (int i = 0; i < examCount; i++)
        {
            System.out.print("Exam Score:  ");
            exams[i] = input.nextDouble();
        }


        // Print Out All Of The Scores
        for (int i = 0; i < examCount; i++)
            System.out.println("Exam #" + (i+1) + "\t" + exams[i]);


        // Sum All Of The Exam Scores
        for (int i = 0; i < examCount; i++)
            examSum += exams[i];


        // Print Out An Average Of All Of The Scores
        System.out.println("Exam Average:  " + examSum / examCount);
    }
}