Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 数组、整数和数组的和_Java_Arrays - Fatal编程技术网

Java 数组、整数和数组的和

Java 数组、整数和数组的和,java,arrays,Java,Arrays,问题:编写一个以两个整数n和m为参数的方法,并返回n(包括n)到m(包括m)的所有数字(数字数组)的和 public int getSum(int n,int m){ 这个,n=n; 这个,m=m; int[]x={n,m}; int结果=0; 对于(int i=0;i请尝试以下方法: public int getSum(int n, int m){ int result = 0; for(int i = n;i <= m;i++) result += i

问题:编写一个以两个整数n和m为参数的方法,并返回n(包括n)到m(包括m)的所有数字(数字数组)的和

public int getSum(int n,int m){
这个,n=n;
这个,m=m;
int[]x={n,m};
int结果=0;
对于(int i=0;i请尝试以下方法:

public int getSum(int n, int m){
    int result = 0;
    for(int i = n;i <= m;i++)
         result += i;
    return result;
}
试试这个:

public int getSum(int n, int m){
    int result = 0;
    for(int i = n;i <= m;i++)
         result += i;
    return result;
}
爪哇8

爪哇8


@安德烈斯已经给出了一个完美的解决方案,但我想再解释一些,所以现在开始

你的代码有很多问题

但是是的,中心问题是行。
int[]x={n,m};

该行所做的是创建一个只包含2个数字的数组,当您在该数组上迭代时,您只添加这两个数字,而不是中间的所有数字

在C语言、C++语言、java语言等语言中,对一系列数字进行迭代的最简单的习惯用法是

for(int i = n, i <=m, i++){
  ...
}

@安德烈斯已经给出了一个完美的解决方案,但我想再解释一些,所以现在开始

你的代码有很多问题

但是是的,中心问题是行。
int[]x={n,m};

该行所做的是创建一个只包含2个数字的数组,当您在该数组上迭代时,您只添加这两个数字,而不是中间的所有数字

在C语言、C++语言、java语言等语言中,对一系列数字进行迭代的最简单的习惯用法是

for(int i = n, i <=m, i++){
  ...
}

你就不能这样做吗:

public static int getSum(final int n, final int m) {
    // default value
    int sum = 0;

    // not permitted
    if (n >= m)
        return 0;

    // all of the work here
    for (int i = n; i <= m; i++)
        sum += i;

    return sum;
}
public static int getSum(final int n,final int m){
//默认值
整数和=0;
//不允许
如果(n>=m)
返回0;
//所有的工作都在这里

对于(int i=n;i你就不能这样做:

public static int getSum(final int n, final int m) {
    // default value
    int sum = 0;

    // not permitted
    if (n >= m)
        return 0;

    // all of the work here
    for (int i = n; i <= m; i++)
        sum += i;

    return sum;
}
public static int getSum(final int n,final int m){
//默认值
整数和=0;
//不允许
如果(n>=m)
返回0;
//所有的工作都在这里

对于(int i=n;我正要写一个答案,但@Andres抢先给了我。而且,
这个。
语句是不必要的。对于这样一个简单的算法,你不需要初始化对象等等……你在使用哪种编程语言?哈哈,你花更多的时间写问题,而不是找到解决方案。是的,我现在明白了我可以花更多的时间找到解决方案。我使用java、Wang、blueJ。可能是因为我不是一名计算机工程师,但我学到了一些东西。我正要写一个答案,但@Andres抢先了我一步。而且,
这个。
语句是不必要的。对于这样的简单算法,你不需要初始化对象等。哪个程序你用的是g语言吗?哈哈,你花更多的时间写问题,而不是找到解决方案XD是的,我现在明白了,我可以花更多的时间找到解决方案。我使用java、Wang、blueJ。可能是因为我不是计算机工程师,但我学到了一些东西。是的,这很有效,记住将结果声明为整数变量(int result=0),非常感谢!数学很棒,我更喜欢数学一是的,这很好用,只要记住将结果声明为整数变量(int result=0),非常感谢!数学很棒,我更喜欢数学一这很好,我想这会帮助他更好地理解。顺便说一句,我相信我们想做一些类似于
范围(n,m+1)的事情
正如python所做的,这很好,我认为这将帮助他更好地理解。顺便说一句,我相信我们希望像python那样做
range(n,m+1)
int acc = 0;
for(int i = n, i <=m, i++){
  acc = acc + i;
}
public static int getSum(final int n, final int m) {
    // default value
    int sum = 0;

    // not permitted
    if (n >= m)
        return 0;

    // all of the work here
    for (int i = n; i <= m; i++)
        sum += i;

    return sum;
}