音乐商店示例

时间:2015-07-15 17:10:26

标签: java store

我只需朝着正确的方向迈出一步。我正在为一个基本的java课程做一些功课,我似乎无法回忆起我应该在这里做些什么。我不想使用数组,我知道。这是迄今为止的代码。

import java.util.Scanner;
public class Store
{
    public static void main (String [] args) 
{ Scanner s = new Scanner (System.in);
    System.out.println("How many songs would you like to purchase?");
    int numSongs = s.nextInt();


for(int i = 0; i < numSongs; i++) {
  System.out.println("Enter the length of the songs: ");
  int lengthSongsi = s.nextInt();
                                  }
}    
}    

我需要能够存储用户定义的变量。在用户告诉我们之前,该金额是未知的。我不知道如何在不覆盖最后一个变量的情况下这样做。如果数组是唯一的方法,我将使用它

2 个答案:

答案 0 :(得分:0)

您可能想要使用ArrayList。这就像一个数组,但它是动态的,所以你不需要最初定义长度:

ArrayList mList = new ArrayList(); 

您也可以定义类型,如下所示:

ArrayList<String> mList = new ArrayList<String>();

然后,当您想要添加数据时,您可以:

mlist.add("My Value"); 

有关详细信息,请查看docs

答案 1 :(得分:0)

正如人们所建议的那样,使用ArrayList或Array。简单的方法就是不断地将它们添加到ArrayList中,同时某些参数保持为真。

另外,这只是我的代码风格,我总是有第一个{在声明之后开始,而不是说如果{....它会是:

if
{..... makes code easier. 

至于它的代码方面,你可以试试这个:

 ArrayList<Integer> mList = new ArrayList();
 for(int i = 0; i < numSongs; i ++)
 {
     System.out.println("Enter Song Length");
     int lengthSongsi = s.nextInt();
     mList.add(lengthSongsi);

    //if you want to access the length of the song at a particular point
    //just access it as you would any normal array, so it could look like
    //System.out.println("Song length at index " + i + "is: " + mList.get(i));
  }

如果它没有工作让我知道。因为我目前正在工作,所以我还没有通过IDE运行它。