如何使用Scanner在Main中输入两个数字,并使用方法(升序java)使其工作?

如何使用Scanner在Main中输入两个数字,并使用方法(升序java)使其工作?,java,for-loop,methods,java.util.scanner,Java,For Loop,Methods,Java.util.scanner,我正在尝试制作一个程序,它将在两个输入数字之间按升序打印数字。我让它作为一个方法工作,我可以在Main中调用该方法,但我真正想做的是在Main中输入两个数字,而不是在方法中 比如说: System.out.println(“升序中的两个数字”) (在控制台中输入两个数字) 然后在此之后,调用将在所选的Main数之间按升序打印的方法 我对这一点还不熟悉,我尝试过好几种方法,但我似乎不知道该怎么办。非常感谢您的帮助 这就是代码现在的样子 import java.util.Scanner; publ

我正在尝试制作一个程序,它将在两个输入数字之间按升序打印数字。我让它作为一个方法工作,我可以在Main中调用该方法,但我真正想做的是在Main中输入两个数字,而不是在方法中

比如说:

System.out.println(“升序中的两个数字”)

(在控制台中输入两个数字)

然后在此之后,调用将在所选的Main数之间按升序打印的方法

我对这一点还不熟悉,我尝试过好几种方法,但我似乎不知道该怎么办。非常感谢您的帮助

这就是代码现在的样子

import java.util.Scanner;

public class AscendingOrder {

    public static void main(String[] args) {

        // calling method

        int ascending1 = ascending();
    }

    public static int ascending() {

        int min;
        int max;
        int total = 0;

        Scanner sc = new Scanner(System.in);
        System.out.println("Two numbers in ascending order");
        min = sc.nextInt();
        max = sc.nextInt();

        for (int i = min; i < max + 1; i++) {
            System.out.print(i + " ");
            total += i;

        }
        return total;
    }
}
import java.util.Scanner;
公共类升序{
公共静态void main(字符串[]args){
//调用方法
int递增1=递增();
}
公共静态int升序(){
int-min;
int max;
int-total=0;
扫描仪sc=新的扫描仪(System.in);
System.out.println(“升序中的两个数字”);
最小值=sc.nextInt();
max=sc.nextInt();
对于(int i=min;i
将两个输入作为参数传递给方法,类似于:

public static void main(String[] args) {
     Scanner sc = new Scanner(System.in);
     System.out.println("Two numbers in ascending order");
     int min = sc.nextInt();
     int max = sc.nextInt();

     int ascending1 = ascending(min, max);
     System.out.println(ascending1);
}
现在:

public static int ascending(int min, int max) {
    int total = 0;
    for (int i = min; i < max + 1; i++) {
       System.out.print(i + " ");
       total += i;
     }
     return total;
}
公共静态整数递增(整数最小值,整数最大值){
int-total=0;
对于(int i=min;i

请注意,
ascending()
的定义现在包含两个
int
类型的参数。值从主方法传递到方法。

您可以在
main
方法中输入数字,然后将它们传递到另一个方法:

public class AscendingOrder {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Two numbers in ascending order");
        int min = sc.nextInt();
        int max = sc.nextInt();

        int ascending1 = ascending(min, max);
    }

    public static int ascending(int min, int max) {
        int total = 0;

        for (int i = min; i < max + 1; i++) {
            System.out.print(i + " ");
            total += i;
        }
        return total;
    }
}
公共类递增顺序{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
System.out.println(“升序中的两个数字”);
int min=sc.nextInt();
int max=sc.nextInt();
int递增1=递增(最小值、最大值);
}
公共静态整数递增(整数最小值,整数最大值){
int-total=0;
对于(int i=min;i
您可以读取命令行参数,或者将扫描器放在主函数中并传递参数

import java.util.Scanner;

public class AscendingOrder {

    public static void main(String[] args) {
        System.out.println("Entered first number is: "+args[0]);  
        System.out.println("Entered Secomd number is: "+args[1]);  
        int ascending1 = ascending(Integer.parseInt(args[0]),Integer.parseInt(args[1]));
    }

    public static int ascending(int min,int max) {

        int total = 0;

        for (int i = min; i < max + 1; i++) {
            System.out.print(i + " ");
            total += i;

        }
        return total;
    }
}
import java.util.Scanner;
公共类升序{
公共静态void main(字符串[]args){
System.out.println(“输入的第一个数字是:“+args[0]);
System.out.println(“输入的Secomd编号为:“+args[1]);
int ascending1=升序(Integer.parseInt(args[0]),Integer.parseInt(args[1]);
}
公共静态整数递增(整数最小值,整数最大值){
int-total=0;
对于(int i=min;i
您可以在main方法中获取数字,并在main方法本身中对其进行排序。Java8使流变得非常容易

    public static void main( String[] args ) throws Exception {

    Framework.startup( );

    Scanner sc = new Scanner( System.in );
    System.out.println( "Two numbers in ascending order" );
    int num1= sc.nextInt( );
    int num2= sc.nextInt( );

    Arrays.asList( num1, num2).stream( ).sorted( ).forEach( System.out::println );
    }

可能
IntStream.range(sc.nextInt(),sc.nextInt()).forEach(System.out::println)
在这种情况下会更好。这将避免排序的需要。