Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Loops_Sum_Int - Fatal编程技术网

Java 两个数字的范围之和是多少?

Java 两个数字的范围之和是多少?,java,loops,sum,int,Java,Loops,Sum,Int,我想求两个数之间的值的总和。我会提示用户输入2个数字,如果第一个数字大于第二个数字,则在循环之前,我希望将其与第二个数字交换。我该怎么做 import java.util.Scanner; public class Example { public static void main (String []args) { Scanner kb = new Scanner(System.in); int n1 = 0, n2 = 0, count = 0;

我想求两个数之间的值的总和。我会提示用户输入2个数字,如果第一个数字大于第二个数字,则在循环之前,我希望将其与第二个数字交换。我该怎么做

import java.util.Scanner;
public class Example {
    public static void main (String []args) {
        Scanner kb = new Scanner(System.in);

        int n1 = 0, n2 = 0, count = 0;

        System.out.print("Enter two limits: ");
        n1 = kb.nextInt();
        n2 = kb.nextInt();

        while ( n1 <= n2 ) {
            count = count + n2;
            n2--;
        }
        System.out.println("The sum from "+ n1 +" to "+ n2 +" is : " + count);
    }
}
但是我的程序输出是

the sum from 6 to 5 is 40
我做错了什么?

您可以使用
Math.max(int,int)
Math.min(int,int)
(和
IntStream
,假设您使用的是Java 8+)。像

如果你因为某种原因不能使用
数学
,或者一个非常方便的小技巧,你可以自己做一些数学;像

int start = n1;
if (n2 < n1) {
    start = n2;
}
int stop = n2 + n1 - start;
int start=n1;
if(n2

int start = (n1 < n2) ? n1 : n2, stop = n2 + n1 - start;
int start=(n1
您可以使用
Math.max(int,int)
Math.min(int,int)
(和
IntStream
,假设您使用的是Java 8+)。像

如果你因为某种原因不能使用
数学
,或者一个非常方便的小技巧,你可以自己做一些数学;像

int start = n1;
if (n2 < n1) {
    start = n2;
}
int stop = n2 + n1 - start;
int start=n1;
if(n2

int start = (n1 < n2) ? n1 : n2, stop = n2 + n1 - start;
int start=(n1
Scanner in=新扫描仪(System.in);
int-n1;
int n2;
整数计数=0;
System.out.print(“输入两个限制:”);
n1=in.nextInt();
n2=in.nextInt();
如果(n1>n2){
n1+=n2;
n2=n1-n2;
n1-=n2;
}
int电流=n1;
while(当前
Scanner in=新扫描仪(System.in);
int-n1;
int n2;
整数计数=0;
System.out.print(“输入两个限制:”);
n1=in.nextInt();
n2=in.nextInt();
如果(n1>n2){
n1+=n2;
n2=n1-n2;
n1-=n2;
}
int电流=n1;

虽然(很抱歉,这是我的错误,但我的意思是,如果用户输入的第一个数字越大,程序应交换第一个数字越低
n2--
正在递减您的输入值对不起,我的错误,但我的意思是,如果用户输入的第一个数字越大,程序应交换第一个数字越低
n2--
正在递减您的输入值
Scanner in = new Scanner(System.in);

int n1;
int n2;
int count = 0;

System.out.print("Enter two limits: ");
n1 = in.nextInt();
n2 = in.nextInt();
if (n1 > n2) {
    n1 += n2;
    n2 = n1 - n2;
    n1 -= n2;
}
int current = n1;
while (current <= n2) {
    count += current;
    current++;
}
System.out.println("The sum from " + n1 + " to " + n2 + " is : " + count);