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

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

最喜歡的食物 Java 程序出錯了

最喜歡的食物 Java 程序出錯了

守候你守候我 2021-08-25 18:13:39
下面是我的Java程序?,F在,程序正確運行的唯一方法是讓最后一列最長。如果數組中的最后一列不是最長的,則輸出不正確。例如,如果food數組在第二列中的元素比第三列中的元素多,如下所示:String[][] food = {        {"Bannana", "Apple", "Pear", "Orange"}, // fruits        {"GreenBean", "Iceburg", "Spenach", "peas", "carrots", "potatoes", "beans"}, // vegetables         {"Steak",   "Baccon", "Beef", "TurkeyB", "TurkeyBacon", "Chicken"} // meats };然后,例如,如果chicken輸入作為輸入,則輸出是這樣的:Yo have no favorite foodYour favorite food is Chicken而且,例如,如果輸入是biscuit,那么輸出是這樣的:Yo have no favorite foodYo have no favorite food那么,有沒有辦法只打印"Yo have no favorite food"一次或正確打印出最喜歡的食物,而最后一列不必最長?這是代碼:package com.begg;import java.util.*;public class List {    static Scanner sc = new Scanner(System.in);    public static void main(String[] args) {        String[][] food = {                {"Bannana", "Apple", "Pear", "Orange"}, // fruits                {"GreenBean", "Iceburg", "Spenach", "peas"}, // vegetables                 {"Steak",   "Baccon", "Beef", "TurkeyB", "TurkeyBacon", "Chicken"} // meats         };        for(int row = 0; row < food.length; row++) {            for (int col = 0; col < food[row].length; col ++) {                System.out.print(food[row][col] + ", ");            }            System.out.println();        }        System.out.println("Enter your favorite out of the options above:");        String k = sc.next();        loop2:        for(int row2 = 0; row2<food.length; row2++) {            for (int col2 = 0; col2< food[row2].length; col2++) {                if (k.equalsIgnoreCase(food[row2][col2])) {                    System.out.println("Your favorite food is " + food[row2][col2]);                    break loop2;                }                else if (!(k.equalsIgnoreCase(food[row2][col2])) & col2== 5 ) {                    System.out.println("Yo have no favorite food");                }            }        }    }}
查看完整描述

2 回答

?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

改變這部分:


else if (!(k.equalsIgnoreCase(food[row2][col2])) & col2== 5 ) {

    System.out.println("Yo have no favorite food");

}

對此:


else if (!(k.equalsIgnoreCase(food[row2][col2])) && row2 == food.length-1 && col2 == food[row2].length-1) {

    System.out.println("Yo have no favorite food");

}

應該做我認為你正在尋找的。編輯else if檢查是否已檢查數組的所有值(與哪一列更長無關),如果沒有與輸入匹配,則它將執行System.out.println("Yo have no favorite food");一次。


查看完整回答
反對 回復 2021-08-25
  • 2 回答
  • 0 關注
  • 199 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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