簡體   English   中英

對輸入數字進行排序

[英]Sorting Input Numbers

我對 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 = 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 如您所見,沒有參數。 如果您想運行代碼,請使用java Sort 1 2 3來執行。 這里需要用到參數。

調用程序時會傳遞命令行 arguments。 在 Java 中,使用javac命令編譯代碼並使用java命令調用程序。 因此,當您在調用程序時傳遞 arguments 時,那些 arguments 將傳遞給main function。

您看到的錯誤來自javac javac也是一個程序,它需要一個 java 文件來編譯和一些可選的標志(例如,抑制警告等)。 javac無法將1識別為標志。 只需說javac Sort.java它就會編譯你的代碼。 After that, run your program with java command, which itself is also a program that takes a class with optional arguments that are passed to the class while invoking it. 因此,將您的程序java Sort 123

首先在編譯任何 java 代碼時編譯您的代碼:

javac Sort.java

現在在運行時傳遞命令行 arguments:

java Sort 1 2 3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM