木子.249 2021-08-27 22:08 采纳率: 75%
浏览 60
已结题

Java最后一个方法 else匹配无法返回else中的语句怎么回事

这是代码,最后一个modifyFruits(array);方法中的else

package com.lms;

import java.util.ArrayList;
import java.util.Scanner;

public class FruitsTest {

public static void main(String[] args) {
    ArrayList<Fruits> array = new ArrayList<Fruits>();
    Scanner sc = new Scanner(System.in);
    while (true) {
        System.out.println("------欢迎来到水果商城------");
        System.out.println("1.查看所有水果");
        System.out.println("2.添加水果");
        System.out.println("3.删除水果种类");
        System.out.println("4.修改水果");
        System.out.println("5.退出");
        System.out.println("(请输入你的选择)");
        String number = sc.nextLine();
        switch (number) {
        case "1":
            seeFruits(array);
            break;
        case "2":
            addFruits(array);
            break;
        case "3":
            deleteFryits(array);
            break;
        case "4":
            modifyFruits(array);
            break;
        case "5":
            System.out.println("(再你妈的见)");
            System.exit(0);
            break;
        default:
            System.out.println("(输入错误  请重新输入)");
            break;
        }
    }
}

public static void seeFruits(ArrayList<Fruits> array) {
    if (array.size() == 0) {
        System.out.println("(目前没有水果可查询)");
        return;
    }
    System.out.println("水果\t斤两\t价格");
    for (int i = 0; i < array.size(); i++) {
        Fruits s = array.get(i);
        System.out.println(s.getName() + "\t" + s.getJin() + "\t" + s.getPrice());
    }
}

public static void addFruits(ArrayList<Fruits> array) {
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入水果名称");
    String name;
    while (true) {
        name = sc.nextLine();
        boolean flag = false;
        for (int i = 0; i < array.size(); i++) {
            Fruits s = array.get(i);
            if (s.getName().equalsIgnoreCase(name)) {
                flag = true;
                break;
            }
        }
        if (flag) {
            System.out.println("(水果重复  重新输入)");
        } else {
            break;
        }
    }
    System.out.println("请输入斤两");
    String jin = sc.nextLine();
    System.out.println("请输入价格");
    String price = sc.nextLine();
    Fruits s = new Fruits();
    s.setName(name);
    s.setJin(jin);
    s.setPrice(price);
    array.add(s);
    System.out.println("(添加成功)");
}

public static void deleteFryits(ArrayList<Fruits> array) {
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入你要删除的水果");
    String name = sc.nextLine();
    int index = -1;
    for (int i = 0; i < array.size(); i++) {
        Fruits s = array.get(i);
        if (s.getName().equalsIgnoreCase(name)) {
            index = i;
            break;
        }
    }
    if (index == -1) {
        System.out.println("物品不存在");
    }
    array.remove(index);
    System.out.println("删除成功");
    
}

public static void modifyFruits(ArrayList<Fruits> array) {
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入你要修改的水果");
    String name = sc.nextLine();
    int index = -1;
    for (int i = 0; i < array.size(); i++) {
        Fruits s = array.get(i);
        if (s.getName().equalsIgnoreCase(name)) {
            index = i;
            return;
        }
    }
    if (index == -1) {
        System.out.println("你输入的不存在");
    }else{
        System.out.println("请输入新斤两");
        String jin = sc.nextLine();
        System.out.println("请输入新价格");
        String price = sc.nextLine();
        Fruits s = new Fruits();
        s.setJin(jin);
        s.setName(name);
        s.setPrice(price);
        array.set(index, s);
        System.out.println("修改成功");
    }
}

}

  • 写回答

1条回答 默认 最新

  • Mae_strive 2021-08-27 22:46
    关注

    for循环中 if判断成立之后return了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月4日
  • 已采纳回答 8月27日
  • 创建了问题 8月27日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器