为了账号安全,请及时绑定邮箱和手机立即绑定

我希望输入存储在数组中,并在一行中打印该特定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 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信