热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在JAVA代码的不同部分多次使用数组列表

我正在使用数组列表通过构建一个交互式菜单供用户选择来存储来自用户输入的值。到目前为止,我的两个选择是为用户提供向列表输入数据和读取列表的全部内容。到目前为止,我创建的代码由两个类组成。

我正在使用数组列表通过构建一个交互式菜单供用户选择来存储来自用户输入的值。到目前为止,我的两个选择是为用户提供向列表输入数据和读取列表的全部内容。到目前为止,我创建的代码由两个类组成。

我的主课,

package com.andrekreou;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Welcome to the personnel address book");
System.out.println("In the following menu, a whole selection of services is provided");
Scanner user_input = new Scanner(System.in);
while (true){
showMenu();
String selection = user_input.next();
if (selection.equals("1")){
System.out.println("Below you can see all of the data being provided");
for (String personnel : catalog) { } //ERROR: Cannot resolve symbol catalog
}else if (selection.equals("2")){
ArrayList catalog = new ArrayList<>();
Personnel p1 = new Personnel();
System.out.println("Please insert the data for the new contact");
System.out.println("Input the fullname:");
Scanner scan = new Scanner(System.in);
String full_name = scan.nextLine();
p1.setFull_name(full_name);
catalog.add(full_name);
System.out.println("You inserted the following fullname: "+p1.getFull_name());
System.out.println("Input the phonenumber:");
Scanner phone_number_input = new Scanner(System.in);
String phone_number = phone_number_input.next();
p1.setPhone_number(phone_number);
catalog.add(phone_number);
System.out.println("You inserted the following phonenumber: "+p1.getPhone_number());
System.out.println("Input the address:");
Scanner address_input = new Scanner(System.in);
String address = address_input.nextLine();
p1.setAddress(address);
catalog.add(address);
System.out.println("You inserted the following address: "+p1.getAddress());
System.out.println("???????? ??? ????????? e-mail:");
Scanner email_input = new Scanner(System.in);
String email = email_input.next();
p1.setEmail(email);
catalog.add(email);
System.out.println("You inserted the following e-mail: "+p1.getEmail());
System.out.println("???????? ??? ?????????? ????????:");
Scanner date_of_birth_input = new Scanner(System.in);
String date_of_birth = date_of_birth_input.nextLine();
p1.setDate_of_birth(date_of_birth);
catalog.add(date_of_birth);
System.out.println("You inserted the following: "+p1.getDate_of_birth());
System.out.println("???????? ??? ?????? ????:");
Scanner AMKA_input = new Scanner(System.in);
String AMKA = AMKA_input.next();
p1.setAMKA(AMKA);
catalog.add(AMKA);
System.out.println("You inserted the following ????: "+p1.getAMKA());
}
}
}
static void showMenu(){
System.out.println("1. View the whole contacts");
System.out.println("2. Insert a new contact");
System.out.println("Please give your choice");
}
}

以及我的人员类,带有 getter 和 setter 方法,以便存储来自用户输入的数据,

package com.andrekreou;
import java.io.Serializable;
public class Personnel implements Serializable {
private String full_name;
private String phone_number;
private String address;
private String email;
private String date_of_birth;
private String AMKA;
public String getFull_name() {
return full_name;
}
public void setFull_name(String full_name) {
this.full_name = full_name;
}
public String getPhone_number() {
return phone_number;
}
public void setPhone_number(String phone_number) {
this.phone_number = phone_number;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getDate_of_birth() {
return date_of_birth;
}
public void setDate_of_birth(String date_of_birth) {
this.date_of_birth = date_of_birth;
}
public String getAMKA() {
return AMKA;
}
public void setAMKA(String AMKA) {
this.AMKA = AMKA;
}
}

我的问题是我想使用 foreach 循环在选项 1 中使用目录列表,但我不能,因为我收到代码中显示的“无法解析符号目录”错误。我究竟做错了什么?

回答

我不会争论解决方案的正确性,以及实现它的不同方式。然而,如果你想解决那个编译错误,这只是变量作用域的问题:你只需要catalogmain函数的开头移动列表的创建,以增加其作用域的方式,例如你可以把它作为第一条语句,如下所示:

public class Main {
public static void main(String[] args) {
ArrayList catalog = new ArrayList<>(); // Creation of catalog list
...
}
...
}






推荐阅读
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文总结了在使用Ionic 5进行Android平台APK打包时遇到的问题,特别是针对QRScanner插件的改造。通过详细分析和提供具体的解决方法,帮助开发者顺利打包并优化应用性能。 ... [详细]
  • 将Web服务部署到Tomcat
    本文介绍了如何在JDeveloper 12c中创建一个Java项目,并将其打包为Web服务,然后部署到Tomcat服务器。内容涵盖从项目创建、编写Web服务代码、配置相关XML文件到最终的本地部署和验证。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 本文探讨了 Objective-C 中的一些重要语法特性,包括 goto 语句、块(block)的使用、访问修饰符以及属性管理等。通过实例代码和详细解释,帮助开发者更好地理解和应用这些特性。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
author-avatar
拍友2502883387
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有