当前位置:

首页 > 编程开发 > 如何在Java中正确返回多个用户输入值并供类内其他方法使用

如何在Java中正确返回多个用户输入值并供类内其他方法使用

在Java中,通过将Scanner获取的多个用户输入值赋值给类实例变量,并在构造器中调用输入方法,可使数据成为对象状态。利用私有成员变量和公共getter方法,实现多值安全存储与类内其他方法调用,避免多值返回语法限制。

本文讲解如何在Ja va中通过合理设计方法与类结构,将Scanner获取的多个用户输入值(如商店编号和操作编号)安全、高效地存储到类成员变量中,以便后续代码调用。

很多刚接触Ja va的朋友都会遇到一个尴尬的场景:在方法里用Scanner读了好几个数,想一股脑儿返回到调用方,结果发现return Store, Week;这行代码直接让编译器报错。其实,这不怪你,只怪Ja va的语法设计——它只允许返回一个值(或者一个对象)。那多值怎么处理?答案很简单:别想着“返回”,而是让输入结果直接成为类的一部分。

核心思路就是将输入值赋值给类的实例变量,把这些数据变成对象的“状态”,这样整个类生命周期内都能随时取用。具体怎么做?推荐一个简洁且健壮的模式:

  • 把play()方法的返回值类型改成void,不再试图返回数据;
  • 在构造器里调用play(),保证对象一创建用户交互就完成;
  • 用私有实例变量store和week保存输入值,默认类内可见。

来看一个优化后的完整示例:

import ja va.util.Scanner;

public class UI {
    private final Scanner input = new Scanner(System.in); // 推荐声明为final,避免意外重赋值
    private int store;   // 使用小驼峰命名,符合Ja va规范
    private int week;

    public UI() {
        play(); // 构造时自动采集输入
    }

    public void play() {
        System.out.print("Please enter the store #(1-6): ");
        this.store = input.nextInt();
        System.out.print("Please enter the operation (1-7): ");
        this.week = input.nextInt();
    }

    // 提供公共getter方法,支持外部安全访问
    public int getStore() { return store; }
    public int getWeek() { return week; }

    // 示例:可在其他业务方法中直接使用
    public void executeOperation() {
        System.out.printf("Executing operation %d for store %d%n", week, store);
    }
}

这段代码里要注意几个关键点:

  • 千万别在play()里写return Store, Week;——Ja va不支持多值返回(不像Python的元组);
  • 不要把Scanner声明为静态字段,否则多个实例会共享输入流,导致不可预知的行为;
  • 实际项目中,记得在合适的地方调用input.close(),比如提供一个close()方法,配合try-with-resources使用,防止资源泄漏;
  • 如果需要更灵活的输入校验(比如范围检查、异常处理),可以在play()里加while循环和try-catch,确保输入合法后再赋值。

通过这个设计,当你写UI ui = new UI();创建对象后,直接用ui.getStore()和ui.getWeek()就能拿到用户输入的值。后续无论扩展多少业务逻辑,数据都稳稳地待在对象的怀里,随时待命。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发
相关文章 更多
多个网络账号向蔚来公开道歉 赔偿款将用于公益事业
多个网络账号向蔚来公开道歉 赔偿款将用于公益事业

多个网络账号因散布蔚来不实信息,被法院判决公开道歉并赔偿经济损失。蔚来承诺将所有赔偿款定向捐赠至教育、养老等公益项目,践行社会责任。

多个PDF文件怎么免费合并?极轻PDF在线合并方法
多个PDF文件怎么免费合并?极轻PDF在线合并方法

多个PDF文件可通过极轻PDF、Sejda或PDF24Tools在线免费合并。上传前需按顺序编号,合并后必须检查总页数、文件顺序及衔接页是否完整,确保无漏页或重复。建议逐页预览,避免内容错乱。它们完全免费,操作简单快捷,无需安装任何软件。

多个PDF怎么合并?PDF文件如何在线合并?
多个PDF怎么合并?PDF文件如何在线合并?

多个PDF文件可通过极轻PDF、Smallpdf、iLovePDF等在线工具合并。上传前需确认文件完好、命名清晰,调整顺序后合并。下载后重点检查总页数、页序和页面清晰度,确保文件完整无错乱。建议合并前检查文件是否加密或损坏,合并后预览每页内容。

PDF合并怎么按顺序排页码?多个PDF合并后如何检查页面?
PDF合并怎么按顺序排页码?多个PDF合并后如何检查页面?

将多个PDF合并前需按顺序重命名文件,上传后核对列表顺序,合并后检查总页数、衔接位置、页面方向及有无重复或颠倒。极轻PDF、iLovePDF、CleverPDF等工具支持拖拽调整顺序,可辅助完成合并和检查。

多个PDF文件怎么合并成一个?PDF文档如何在线合并?
多个PDF文件怎么合并成一个?PDF文档如何在线合并?

本文介绍三种在线合并PDF的方法:极轻PDF、小PDF和爱PDF。支持一次性上传多个文件,可按自定义顺序合并。完成后下载并检查总页数、页序及清晰度,确保内容连续、页码编号正确。操作简便,无需注册,适合批量处理,安全可靠,且免费易用。

哪些软件可以免费合并PDF?多个PDF在线合并怎么操作?
哪些软件可以免费合并PDF?多个PDF在线合并怎么操作?

在线合并PDF只需三步:上传文件、核对顺序、点击下载。整个过程免费,但需注意文件大小和数量限制,建议分批合并并检查页面衔接,确保顺序无误,避免出错。

Mac怎么把多个图片合成一个PDF
Mac怎么把多个图片合成一个PDF

Mac系统自带了一些方便的工具,能在30秒内把多张图片按顺序合成PDF哦!其中,访达右键“快速操作→创建PDF”这个方法是最快的,只需要3秒就能完成;预览拖拽缩略图调序则最灵活,可以随意调整图片顺序;打印窗口导出呢,支持高质量设置,能满足一些对PDF质量有要求的用户。在Mac上,如果您手头有十几张活

多个PDF文件怎么合并成一个?PDF文档在线合并要怎么操作?
多个PDF文件怎么合并成一个?PDF文档在线合并要怎么操作?

像分项报告、证明材料、课件这类文件,如果零散地分布在几个PDF里,其实完全可以按照你设定的顺序合并成一个文件。这样一来,不管是自己查阅、发给别人,还是后续归档保存,都会省事不少。下面整理了3种完整的操作方法,而且每一步都配好了对应的操作图。 方法一:用极轻PDF合并多个PDF极轻PDF(pdf.cn

多个PDF怎么合并成一个?PDF文件在线合并要怎么操作?
多个PDF怎么合并成一个?PDF文件在线合并要怎么操作?

日常处理资料时,常常会遇到这种情况:合同、报告、扫描件分散在不同文件里,最后却需要整理成一份完整的PDF。其实,用在线工具就能按自己的顺序把它们快速合并好。下面就用两种常见方法来说明,分别是极轻PDF(pdf.cn)和 iLovePDF,而且都会从操作开始一直讲到下载完成为止。 方法一:用极轻PDF

长PDF怎么拆分成多个文件?PDF拆分后如何下载?
长PDF怎么拆分成多个文件?PDF拆分后如何下载?

要是遇到那种页数超多的长PDF文件,直接用极轻PDF(pdf.cn)按照选好的页码范围来拆分就可以啦。不过动手之前,得先把自己想要保留的页面捋清楚哦,拆分完了以后,还得挨个检查一下生成的新文件,免得之前页码设置出了错呢。 在线拆分长PDF文档 步骤一:进入拆分PDF工具 首先,打开网站的首页。接着,

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
Postman macOS版
Postman macOS版
Mac

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。

Docker Desktop macOS版
Docker Desktop macOS版
Mac

Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。

Android Studio macOS版
Android Studio macOS版
Mac

Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。

WINDOWS 更多
Postman Windows版
Postman Windows版
Windows

Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等

Docker Desktop Windows版
Docker Desktop Windows版
Windows

Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。

Android Studio Windows版
Android Studio Windows版
Windows

Android Studio 是 Google 面向 Android 应用开发提供的官方集成开发环境,以 IntelliJ IDEA 为基础,集成智能代码编辑、Gradle 构建、设备模拟、界面预览、调试测试及性能分析工具,