1

似乎无法弄清楚为什么我的数组没有输出正确的值。总和打印为数组中的第一个整数。我想要数组中所有整数的总和。有什么想法可能是错的吗?我试图将 int 转换为要发送的字符串。

  //Add values of Integers
  int i; int sum = 0; 
  for(i = 0; i < intarray.length; i++){  
      sum = sum + intarray[i];
  }

  String sumOut =  Integer.toString(sum);
  System.out.println( "to Client: " + sumOut);
  toclient.writeBytes("Sum = " +sumOut+'\n');
4

2 回答 2

2

您的代码看起来正确。尝试打印出 的内容intarray以确保其中包含的内容。另外,如何将值放入intarray. 发布一些代码向我们展示。也许数组没有正确填充。

此外,不需要线

String sumOut =  Integer.toString(sum);

当您使用运算符时, Java 会自动将 an 转换int为 a ,例如:String+

System.out.println("to Client:" + sum);
于 2012-07-26T00:16:49.500 回答
2

这是我的做法:

package cruft;

/**
 * IntegerSum description here
 * @author Michael
 * @link
 * @since 7/25/12 8:14 PM
 */
public class IntegerSum {
    public static void main(String[] args) {
        int [] values = new int[args.length];
        for (int i = 0; i < args.length; ++i) {
            values[i] = Integer.valueOf(args[i]);
        }
        System.out.println(String.format("sum = %d", sum(values)));
    }

    public static int sum(int [] values) {
        int sum = 0;
        for (int value : values) {
            sum += value;
        }
        return sum;
    }
}
于 2012-07-26T00:18:18.900 回答