【问题标题】:Add userinput to ArrayList java将用户输入添加到 ArrayList java
【发布时间】:2015-11-16 20:46:58
【问题描述】:

我被这件事困住了。我正在尝试将新信息添加到 ArrayList 中的“旧”信息中。我尝试了几种不同的方法,但我无法让它停留在那里。

import java.sql.Statement;
import java.util.*;

public class Head {
public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    String lname, fname, y, m, d, x, dob, phone, place = null, info;
    int choice;

    Date today = new java.util.Date();
    java.sql.Date sqlDate = new java.sql.Date(today.getTime());

    ArrayList<Person>plist = new ArrayList<>();
    ArrayList<Faktura>flist = new ArrayList<>();

    Person p1 = new Person("Shaerer", "Lucas", "200307302232", "0702-523219", "Stockholm", "Her we put some info");
    Person p2 = new Person("Smith", "Jacob", "197609071464", "0761-617163", "Miami", "Some information about this person");

    plist.add(p1);
    plist.add(p2);

case 2:
                                    System.out.println("Add info");             
                                    System.out.println("------------------------------------------------------");
                                          System.out.println(String.format("%-15s%-15s", p.getLname(), p.getFname()));
                                    System.out.println("------------------------------------------------------");
                                    System.out.println(String.format("DateOfBirth: "+ p.getDob()));                                     
                                    System.out.println(String.format("Adress: "+ p.getPlace()));
                                    System.out.println(String.format("Phone: "+ p.getPhone()));
                                    System.out.println(String.format("Info: \n"+ p.getInfo()));
                                    System.out.println("\n" + sqlDate);
                                    System.out.println("Info: ");                                       
                                    info = scan.nextLine();
//                                      plist.add(this);

//                                      for(int i = 0;i<plist.size(); i++){
//                                      List<Person>plist = Arrays.asList(plist);

//                                      for (Person s : plist)
//                                          plist.add(s);

                                    break;

构造函数

public class Person {
private String lname, fname, dob, phone, place, info;

public Person(String lname, String fname, String dob, String phone, String place, String info){
    this.lname = lname;
    this.fname = fname;
    this.dob = dob;
    this.phone = phone;
    this.place = place;
    this.info = info;
}
public String getLname(){
    return lname;
}
public String getFname(){
    return fname;
}
public String getDob(){
    return dob;
}
public String getPhone(){
    return phone;
}
public String getPlace(){
    return place;
}
public String getInfo(){
    return info;
}
public String toOutputFormat(){
    return this.fname + this.lname + this.dob + this.phone + this.place + this.info;
}
}

我已经在“信息”中有一个字符串,但我想在“信息”中添加新信息(而不是替换旧信息),所以当我去检查有关该人的所有信息时,将会有

“旧”信息: 哈哈哈哈哈哈

“新”信息:(如果我也能把日期留在这里,那就太棒了) 贾达·贾达·贾达

我试图用谷歌搜索,但没有成功。我什至不确定你能做到这一点......但我敢肯定,如果你能做到,这就是你要看的地方:)

感谢您的宝贵时间

【问题讨论】:

  • 你能不能创建我MCVE

标签: java arraylist add


【解决方案1】:

有点难以理解你想要做什么——但我猜你想修改 Person 类中的信息字符串——这可以通过添加一个 setter 来实现:

public setInfo(String newInfo){
    info = newInfo;
}

甚至添加:

public addInfo(String newInfo){
    info += newInfo;
}

使用它看起来像:

编辑:

import java.util.*;

public class Head {
public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    String lname, fname, y, m, d, x, dob, phone, place = null, info;
    int choice;

    ArrayList<Person>plist = new ArrayList<>();
    ArrayList<Faktura>flist = new ArrayList<>();

    Person p1 = new Person("Shaerer", "Lucas", "200307302232", "0702-523219", "Stockholm", "Her we put some info");
    Person p2 = new Person("Smith", "Jacob", "197609071464", "0761-617163", "Miami", "Some information about this person");

    plist.add(p1);
    plist.add(p2);
    p1.setInfo("SomeThing new and exciting");
    p1.addInfo(" and exhilarating");
System.out.println(p1.getInfo());
    }

因为我不知道你打算用这个去哪里 - 我只是提供一个例子。 上面的代码会将您的两个人添加到 plist 中,然后编辑他们的信息字段。

【讨论】:

  • 非常感谢。对不起,我没有解释得那么好。用户将能够使用已经编程的人员或添加新人员。添加人员时,您将添加姓名、出生日期、信息等。 'info' 将是一个字符串,表示有关此人的某些信息。用户还应该能够向该特定人员添加新信息。像医学杂志或跟踪电话及其内容的公司一样思考。
  • 那么,以上是否回答了您的问题?您可能想要使用 ArrayList 信息;而不仅仅是一个字符串,能够区分不同的条目......
  • 我正在处理你给我的东西,哈哈。我是这方面的新手,所以我的工作速度不是很快,我必须弄清楚如何以及将你给我的东西放在哪里。 ArrayList info 的想法听起来非常好。那我只需要弄清楚如何做到这一点。哈哈,永远不会结束,对吧。再次感谢您的时间和帮助。非常感谢:)
  • 不客气!如果/当您确定答案符合您的需要时,请接受答案(或者继续询问;))
  • 好吧....我不想粗鲁或不感恩,但如果你有时间并且愿意的话,也许你可以向我解释如何使用你给我的信息。如果没问题。再次感谢:)
猜你喜欢
  • 2014-10-02
  • 2022-12-17
  • 2019-05-19
  • 1970-01-01
  • 2017-02-26
  • 2015-12-16
  • 2015-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多