有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我如何使输出成为“鳄梨卷、鲑鱼卷、加州卷、味噌汤”等。。我不知道如何正确使用子串方法

嗨,你能帮我用子字符串法吗?我不知道如何把特定的单词大写

private static void viewAllItems(ArrayList<Item> itemList) {

        // TODO: P05 Task 3 - Write code here to displays all items from the ArrayList of Item objects
        // passed to it.

        itemList = load();

        String output = String.format("%-20s %-10s\n", "ITEM", "PRICE");

        for (Item i : itemList) {
            String a = String.format("%s", i.getType().toUpperCase().split(""));


            output += String.format("%-20s  %-10.2f\n", a.concat(i.getType().substring(1).toLowerCase() ), i.getPrice());

        }
        System.out.println(output);
    }

我期望产出

鳄梨卷 三文鱼淡味 加州卷 味噌汤

但我有 牛油果卷 三文鱼淡味 加州卷 味噌汤


共 (1) 个答案

  1. # 1 楼答案

    您的代码只对每种商品类型的首字母大写:

    鳄梨卷->;鳄梨卷

    我建议使用以下代码:

    for (Item item : itemList) {
      String[] words = item.getType().split("\\s"); // splits into words
    
      for (int i = 0; i < words.length; i++) {
        words[i] = Character.toUpperCase(words[i].charAt(0)) + words[i].substring(1); // capitalizes first letter of each word
      }
    
      output += String.format("%-20s  %-10.2f\n", String.join(" ", words), item.getPrice());
    }