亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何接受來自用戶的java參數

如何接受來自用戶的java參數

慕姐4208626 2023-05-17 17:59:49
我試圖讓用戶在此函數中輸入 2 個字符串,以便可以比較它們。我對 Java 不太熟悉,更熟悉 C++,而且我不是開發人員。public class Levenshtein {    public static int distance(String a, String b) {        a = a.toLowerCase();        b = b.toLowerCase();        // i == 0        int [] costs = new int [b.length() + 1];        for (int j = 0; j < costs.length; j++)            costs[j] = j;        for (int i = 1; i <= a.length(); i++) {            // j == 0; nw = lev(i -1, j)            costs[0] = i;            int nw = i - 1;            for (int j = 1; j <= b.length(); j++) {                int cj = Math.min(1 + Math.min(costs[j], costs[j - 1]), a.charAt(i - 1) == b.charAt(j - 1) ? nw : nw + 1);                nw = costs[j];                costs[j] = cj;            }        }        return costs[b.length()];    }    public static void main(String [] args) {        String [] data = { "kitten", "Mitten" };        for (int i = 0; i < data.length; i += 2)            System.out.println("distance(" + data[i] + ", " + data[i+1] + ") = " + distance(data[i], data[i+1]));    }}
查看完整描述

4 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

只需使用argsin main


public static void main(String [] args) {

    for (int i = 0; i < args.length; i += 2)

        System.out.println("distance(" + args[i] + ", " + args[i+1] + ") = " + distance(args[i], args[i+1]));

}

并運行它java -jar app.jar kitten mitten


查看完整回答
反對 回復 2023-05-17
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

下面是如何使用Scanner讀取 Java 輸入的示例。

Scanner s = new Scanner(System.in);

String first = s.nextLine();

String second = s.nextLine();

String[] nextTwo = s.nextLine().split(" ");

System.out.println(first);

System.out.println(second);

System.out.println(nextTwo[0]);

System.out.println(nextTwo[1]);

s.close();

樣本輸入


我是一個茶壺

又矮又粗

這是我的把手


示例輸出


我是一只茶壺

又矮又粗


至于如何在您的程序中應用它,只需執行以下操作:


public static void main(String [] args) {

? ? // Using this construct, the "try-with-resources" block, will automatically

? ? // close the Scanner resource for you

? ? try(Scanner s = new Scanner(System.in) {

? ? ? ? System.out.println("Enter first word:");

? ? ? ? String first = s.nextLine();

? ? ? ? System.out.println("Enter second word:");

? ? ? ? String second = s.nextLine();

? ? ? ? System.out.println(String.format("The distance is: %d",distance(first, second)));

? ? }//Scanner s is automatically closed here

}

請注意,您通常不應該關閉System.in流,因為它不允許您在程序的其余部分讀取輸入。但是,由于您的程序在 try-with-resources 塊的范圍內終止,因此在這種情況下這樣做是可以接受的。


查看完整回答
反對 回復 2023-05-17
?
慕容708150

TA貢獻1831條經驗 獲得超4個贊

您可以使用掃描儀對象:


Scanner myObj = new Scanner(System.in);  // Create a Scanner object

System.out.println("Enter username");


String userName = myObj.nextLine();  // Read user input


查看完整回答
反對 回復 2023-05-17
?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

我使用掃描儀從控制臺輸入。


你可以這樣做:


Scanner sc = new Scanner(System.in);

String s1 = sc.nextLine();

String s2 = sx.nextLine();

System.out.println("distance(" + s1 + ", " + s2 + ") = " + distance(s1, s2));

sc.close();


查看完整回答
反對 回復 2023-05-17
  • 4 回答
  • 1 關注
  • 229 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號