Java 二维和数组

Java 二维和数组,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我想把这个二维数组中每个州的票数和每个候选人的票数相加 这些是要求: 修改程序,以便显示每个州的总投票数 (即,在每一行中添加一列,将所有投票的总票数相加。) (每个州的候选人) 修改程序,以便显示每个候选人的总票数(即,添加最后一行,显示所有三列投票的总票数) publicstaticvoidmain(字符串[]args)引发IOException { //此处的TODO代码应用程序逻辑 文件选择=新文件(“voting_2008.txt”); 扫描仪sc=新扫描仪(选择); 字符串[]状态

我想把这个二维数组中每个州的票数和每个候选人的票数相加

这些是要求:

  • 修改程序,以便显示每个州的总投票数
    (即,在每一行中添加一列,将所有投票的总票数相加。) (每个州的候选人)
  • 修改程序,以便显示每个候选人的总票数(即,添加最后一行,显示所有三列投票的总票数)

    publicstaticvoidmain(字符串[]args)引发IOException
    {
    //此处的TODO代码应用程序逻辑
    文件选择=新文件(“voting_2008.txt”);
    扫描仪sc=新扫描仪(选择);
    字符串[]状态=新字符串[51];
    int[][]票=新int[51][4];
    int[]Totalbystate=新的int[vots.length];
    对于(int s=0;s<51;s++)
    {
    states[s]=sc.nextLine();
    }
    对于(int c=0;c<3;c++)
    {
    对于(int s=0;s<51;s++)
    {
    票数[s][c]=sc.nextInt();
    }
    }
    格式化程序fmt=新格式化程序();
    格式(“%20s%12s%12s%12s%21s”、“州”、“奥巴马”、“麦凯恩”、“其他”、“各州合计”);
    系统输出打印项次(fmt);
    对于(int s=0;s<51;s++)
    {
    fmt=新格式化程序();
    格式(“%20s”,表示[s]);
    系统输出打印(fmt);
    对于(int c=0;c<3;c++)
    {
    fmt=新格式化程序();
    格式(“%12d”,投票[s][c]);
    系统输出打印(fmt);
    }
    整数和=0;
    for(int row=0;row

问题与求和无关,而与格式有关。仅此代码将演示相同的问题:

int[] values = new int[10];
new Formatter().format("%21d", values);
现在还不清楚您希望它做什么,但我怀疑您实际上想做以下事情:

// Please change your variable names to follow Java conventions
fmt = new Formatter(System.out);
for (int value : Totalbystate) {
    fmt.format("%21d", value);
}
或者,指定一个格式字符串,例如
%21d%21d%21d%21d%21d”
(等),并传入一个
整数[]
,而不是
整数[]


此外,您应该修复程序的缩进-目前它不必要地令人困惑。

问题与求和无关,而与格式有关。仅此代码将演示相同的问题:

int[] values = new int[10];
new Formatter().format("%21d", values);
现在还不清楚您希望它做什么,但我怀疑您实际上想做以下事情:

// Please change your variable names to follow Java conventions
fmt = new Formatter(System.out);
for (int value : Totalbystate) {
    fmt.format("%21d", value);
}
或者,指定一个格式字符串,例如
%21d%21d%21d%21d%21d”
(等),并传入一个
整数[]
,而不是
整数[]


此外,您应该修复程序的缩进-它目前不必要地令人困惑。

Umm..那么,问题是什么?总和不起作用。当我编译时,线程“main”java.util.IllegalFormatConversionException:d!中出现错误异常[I Alabama 813479 1266546 19794 java.util.Formatter$FormattSpecifier.failConversion(Formatter.java:4045)java.util.Formatter$FormattSpecifier.printInteger(Formatter.java:2748)java.util.Formatter$FormattSpecifier.print(Formatter.java:2702)java.util.Formatter.Formatter.java:2488)在small_program_07.small_program_07.main(small_program_07.java:69)的java.util.Formatter.format(Formatter.java:2423)中,java结果:1@user1663414当前位置查看异常的确切含义。它与求和本身无关。嗯..那么,问题是什么?求和不起作用。当我编译时,线程中出现错误异常“main”java.util.IllegalFormatConversionException:d!=[I Alabama 813479 1266546 19794在java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4045)在java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2748)在java.util.Formatter$FormatSpecifier.print(Formatter.java:2702)在java在java.util.Formatter.format(Formatter.java:2488)在java.util.Formatter.format(Formatter.java:2423)在small_program_07.small_program_07.main(small_program_07.java:69)在java结果:1@user1663414当前位置请看异常的确切含义。它与求和本身无关。