1

这是我第一次在这里发帖,我是 Java 新手。我这周有作业到期,开始时遇到了一些麻烦,但我想我知道开始后该做什么。好的,所以老师希望我们使用并行数组并编写一个创建条形图的程序。因此,如果他给我们一个输入文件,其中包含:

4 
Sidney
Washington
London
New York
4 
8
10
3

它将打印出:

   Sidney ****
Wasington *********
   London **********
 New York ***`

所以我开始编写我的程序。但我不知道如何初始化数组的长度。他会告诉我们文件的第一行有多少个元素(所以使用上面的例子,长度是 4),但是我们不知道这个数字是多少,我们必须编写一个程序来读取这个数字. 这就是我所拥有的

import java.util.*;
public class BarChart
{
    public static void main(String args[])
    {
    Scanner scan = new Scanner(System.in);
    File file = input;
    // Read in the input file
    int N=input.readInt();

    // Create an array to hold dataLabels, and another to hold dataValues.
    String[] dataLabels = new String[N];
    int[] dataValues= new int[N];`

这是我不知道如何编写的 int N 部分,以便让它扫描他的输入文件的第一行并使用该数字。

4

1 回答 1

1

只需使用适当的Scanner构造函数:

scan = new Scanner(new File("put the path and filename here"), "UTF-8");
int N = scan.nextInt();

另外,我将变量 N​​ 命名为更具描述性的名称,例如arrayLength.

请务必,不要偷懒:使用带有字符集规范的那个!当然,为文件使用适当的字符集代码。

警告:由于这是一个作业,你会被问到如何以及为什么使用这个构造函数——准备好回答它!不指定字符集是一个常见的错误,并且在野外也发现了很多地方......

于 2013-10-06T21:44:08.070 回答