Java 对输入号码进行排序
我对Java非常陌生,正在尝试编写一种算法,将三个数字进行排序,作为练习算法编写的一种方法。下面是我所拥有的Java 对输入号码进行排序,java,if-statement,Java,If Statement,我对Java非常陌生,正在尝试编写一种算法,将三个数字进行排序,作为练习算法编写的一种方法。下面是我所拥有的 package com.company; public class Sort { public static void main(String[] args) { int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); int c = Intege
package com.company;
public class Sort {
public static void main(String[] args) {
int a = Integer.parseInt(args[0]);
int b = Integer.parseInt(args[1]);
int c = Integer.parseInt(args[2]);
int min, med, max;
if(Math.max(a, b) == a){
if(Math.max(a, c) == a){
max=a;
if(Math.max(b,c)==b){
med=b;
min=c;
}else{
med=c;
min=b;
}
}else{
max=c;
med=a;
min=b;
}
}else {
if(Math.max(b,c)==b) {
max = b;
if(Math.max(a,c)==a) {
med = a;
min = c;
}else {
med = c;
min = a;
}
}else{
max=c;
med=b;
min=a;
}
}
}
}
当我试图像下面这样从终端调用这个文件时,我得到了以下错误。导致无效标志错误的原因是什么
javac Sort.java 1 2 3
error: invalid flag: 1
Usage: javac <options> <source files>
use --help for a list of possible options
javac Sort.java 1 2 3
错误:无效标志:1
用法:javac
使用--help获取可能选项的列表
如果要编译代码,请在控制台中使用javac Sort.java
。如您所见,没有参数。如果您想运行代码,可以使用JavaSort123code>来运行。这里您需要使用参数 在调用程序时传递命令行参数。在Java中,使用javac
命令编译代码,并使用Java
命令调用程序。因此,当调用程序时传递参数时,这些参数将传递给main
函数
您看到的错误来自javac
javac
也是一个程序,它需要编译一个java文件和一些可选标志(例如,抑制警告等)javac
无法将1
识别为标志。只要说javac Sort.java
,它就会编译您的代码。然后,使用java
命令运行程序,该命令本身也是一个程序,它接受一个带有可选参数的类,这些参数在调用该类时传递给该类。因此,调用您的程序,如JavaSort123
在编译任何java代码时首先编译代码:
javac Sort.java
现在在运行时传递命令行参数:
java Sort 1 2 3
回溯指的是哪一行。程序的命令行输入属于java
命令,而不是javac
命令。如果您试图生成java文件类,则最初使用javac
,但可以,对于命令行参数,您需要使用java Sort
而不使用.java
扩展名。javac Sort.java
然后是java Sort 1 2 3
运行它时,我实际上必须执行“java Sort.java 1 2 3”,不确定这是否是您的意思,但它现在似乎正在工作。