You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不使用return语句实现奇数长度有序数组中间元素输出?

解决不使用return语句的实现方案

要去掉原代码里的return语句,核心是用一个状态变量标记是否触发了"输入过多"的情况,避免后续执行中间元素的输出逻辑。修改后的完整代码如下:

import java.util.Scanner; 

public class LabProgram {
    public static void main(String[] args) {
        Scanner scnr = new Scanner(System.in);
        int[] userValues = new int[10];     
        int arrayLength = 0;
        int i;
        int middleInteger;
        boolean isTooMany = false; // 新增状态变量标记是否输入过多
        
        for (i = 0; i < 10; ++i) {
            userValues[i] = scnr.nextInt();
        
            if (userValues[i] == -1) {
                arrayLength = i + 1;
                break;
            }
            
            if ((i == 9) && (userValues[i] != -1)) {
                System.out.println("Too many numbers");
                isTooMany = true; // 标记状态,替代return
                break; // 退出循环
            }
        }
        
        // 只有未触发输入过多的情况,才执行中间元素输出
        if (!isTooMany) {
            middleInteger = (arrayLength - 1) / 2;
            System.out.println("Middle item: " + userValues[middleInteger]);
        }
    }
}

关键改动说明

  • 新增isTooMany布尔变量,用来记录是否出现输入超过9个有效元素的情况
  • 原代码中return语句替换为设置isTooMany = true并break循环,既终止了输入流程,又保留了后续判断逻辑
  • 循环结束后增加条件判断,只有当isTooMany为false时,才执行中间元素的计算和输出,避免错误执行后续代码

内容的提问来源于stack exchange,提问作者baw678

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 22:02:19