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

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

我希望輸入存儲在數組中,并在一行中打印該特定int的字符串

我希望輸入存儲在數組中,并在一行中打印該特定int的字符串

Helenr 2022-09-14 10:45:41
我希望整數存儲在數組中,然后一旦用戶輸入0,while循環將停止并以字符串格式打印數組的內容。我嘗試了這個地區的東西,但老實說我不理解他們。public static void apples() {    Scanner input = new Scanner(System.in);    System.out.println("Enter your integer: ");    int number = input.nextInt();    int[] array = {};    while(number != 0) {        if(number == 1){            System.out.println("0");        }        else if (number == 3) {            System.out.println("f");        }        else if (number == 5) {            System.out.println("-l");        }        else if (number == 7) {            System.out.println("V");        }        else if (number == 9) {            System.out.println("-/");        }        else if (number == 11) {            System.out.println("()");        }        else if (number == 13) {            System.out.println("()");        }        else if (number == 15) {            System.out.println("^");        }        else if (number == 17) {            System.out.println("E");        }        else if (number == 19) {            System.out.println("=");        }        else if (number == 21) {            System.out.println("x");        }        else if (number == 23) {            System.out.println("y");        }        System.out.println("int: " +  number);    }};我的預期結果是輸入135,輸出為0f-l
查看完整描述

3 回答

?
倚天杖

TA貢獻1828條經驗 獲得超3個贊

請看一下 和 的這個簡單用法示例。MapList


 public static void main(String[] args) {

        Map<Integer, String> map = new HashMap<>();

        map.put(0, "");

        map.put(1, "0");

        map.put(3, "f");

        map.put(5, "-1");

        map.put(7, "V");

        map.put(9, "-/");

        map.put(11, "()");

        map.put(13, "()");

        map.put(15, "^");

        map.put(17, "E");

        map.put(19, "=");

        map.put(21, "x");

        map.put(23, "y");

        List<Integer> listOfInputIntegers = new ArrayList<>();

        Scanner input = new Scanner(System.in);

        int integer;


        do {

            System.out.print("Input your next number:");

            integer = input.nextInt();

            listOfInputIntegers.add(integer);


        } while (integer != 0);

        for (int i : listOfInputIntegers) {

            System.out.print(map.get(i));

        }

        System.out.println();

    }

https://docs.oracle.com/javase/8/docs/api/java/util/Map.html


https://docs.oracle.com/javase/8/docs/api/java/util/List.html


查看完整回答
反對 回復 2022-09-14
?
慕后森

TA貢獻1802條經驗 獲得超5個贊

將整數到字符串映射保留在 java.util.Map 中,以便在用戶鍵入 int 后輕松獲取相應的字符串。如果鍵入的字符串具有相應的字符串,請將其添加到要打印的字符串列表中。如果鍵入的字符串沒有相應的字符串,請打印它并要求下一個intintint


在用戶鍵入 0 停止循環后,通過聯接列表中的所有字符串,從累積的字符串列表中創建一個字符串,直到用戶鍵入 0


public class Test {


    private static Map<Integer, String> integerToStringMappings = new HashMap<>();


    static {

        integerToStringMappings.put(1, "0");

        integerToStringMappings.put(3, "f");

        integerToStringMappings.put(5, "-l");

        .... // and so on for all the integers mapped to strings

    }


    public static void main(String[] args) {


        List<String> strings = new ArrayList<>();

        Integer number = input.nextInt();


        while(number != 0) {

            System.out.println("Enter your integer: ");

            number = input.nextInt();

            String correspondingString = integerToStringMappings.get(number);


            if ( correspondingString == null ) {

                System.out.println("int: " +  number);

            } else {

                strings.add(correspondingString);

            }

        }


        System.out.println(String.join("", strings));

    }

}


查看完整回答
反對 回復 2022-09-14
?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

這可以通過使用 ArrayList 輕松實現,因為您不知道數組的大小(除非您專門詢問用戶將輸入的項目數)。


收集用戶的數字后,只需遍歷 ArrayList 中的每個數字,即可使用 if-else 語句生成相應的輸出。在這種情況下,我強烈建議使用 switch 語句。


ArrayList<Integer> values = new ArrayList<Integer>();

int number = input.nextInt();

while(number != 0) {

    values.add(number);

    number = input.nextInt();

}


for(int i=0; i<values.size(); i++) {

    int numberCheck = values.get(i);

    //Run through the if-else statements using numberCheck

    System.out.println("int: " + numberCheck);

}


查看完整回答
反對 回復 2022-09-14
  • 3 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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