Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java LinkedList节点上存储多个数据项,并使用.toString()将其显示为字符串_Java_Linked List - Fatal编程技术网

在java LinkedList节点上存储多个数据项,并使用.toString()将其显示为字符串

在java LinkedList节点上存储多个数据项,并使用.toString()将其显示为字符串,java,linked-list,Java,Linked List,我正在做一个编程项目,它是这样的: 处理学生注册的系统。注册时,您必须提供姓名、身份证号码、地址、电话、电子邮件和2节课的代码才能注册。这应该存储在LinkedList中 因为LinkedList中的每个节点只能存储一个数据,所以我决定更进一步。使用answer作为基础,我做了一个更改,不是将每个学生的8个学生数据存储在每个注册学生的8个连续节点中,而是创建了一个具有8个属性的对象,该对象存储每个学生注册的8个数据,因此,当您想要删除一个学生时,只需删除包含该对象的节点,而不是删除每个要删除的学

我正在做一个编程项目,它是这样的:

处理学生注册的系统。注册时,您必须提供姓名、身份证号码、地址、电话、电子邮件和2节课的代码才能注册。这应该存储在LinkedList中

因为LinkedList中的每个节点只能存储一个数据,所以我决定更进一步。使用answer作为基础,我做了一个更改,不是将每个学生的8个学生数据存储在每个注册学生的8个连续节点中,而是创建了一个具有8个属性的对象,该对象存储每个学生注册的8个数据,因此,当您想要删除一个学生时,只需删除包含该对象的节点,而不是删除每个要删除的学生的8个连续节点

当我在对象上添加学生数据,然后在LinkedList节点上添加学生数据时,这个想法非常有效。然而,当我需要在屏幕上显示所有学生时,这项技术就失败了

理论上,通过使用迭代器方法.hasNext()和.Next()列表将迭代并在屏幕上显示存储在节点中的对象的内容,它确实。。。但是用散列代替字符串(我需要的)。因此,在屏幕上,而不是显示

Angel Pérez 15956228 7274205 skyx26@yahoo.com Caracas Carolina Rojas 13508200 6253241 caro_caro27@hotmail.com Maracaibo
使类可打印或toString()可打印的正常方法是重写该类的toString()方法。最简单的方法是让IDE生成toString()方法。其他任何事情都可能更加困难


如果无法更改代码以添加toString(),则可以编写自己的方法将对象列表转换为字符串,该字符串检查列表中的每个元素,并按自己的方式进行转换。

使类可打印或toString()可打印的正常方法是重写该类的toString()方法。最简单的方法是让IDE生成toString()方法。其他任何事情都可能更加困难


如果无法更改代码以添加toString(),则可以编写自己的方法将对象列表转换为字符串,该字符串检查列表中的每个元素,并按自己的方式进行转换。

您的PaquetedDataTos类应重写toString方法,以便打印所需字符串,而不是打印hashCode

class PaqueteDeDatos 
{
 String Nombre;
 String Apellido; 
 String Cedula; 
 String Direccion;
 String Telefono;
 String CorreoElectronico;
 String Intensivo1;
 String Intensivo2;

 public PaqueteDeDatos(String a, String b, String c, String d, String e, String f, String g, String h) 
 {
  Nombre = a;
  Apellido = b;
  Cedula = c;
  Direccion = d;
  Telefono = e;
  CorreoElectronico = f;
  Intensivo1 = g;
  Intensivo2 = h;
 }
 public String toString()
 {
  StringBuilder sb = new StringBuilder();
  sb.append(Nombre).append(" ")
    .append(Apellido).append(" ")
    .append(Cedula).append(" ")
    .append(Direccion).append(" ")
    .append(Telefono).append(" ")
    .append(CorreoElectronico).append(" ")
    .append(Intensivo1).append(" ")
    .append(Intensivo2).append(" ");
  return sb.toString();
 }
}

PaquetedAtos类应该重写toString方法,这样它就可以打印所需的字符串,而不是打印hashCode

class PaqueteDeDatos 
{
 String Nombre;
 String Apellido; 
 String Cedula; 
 String Direccion;
 String Telefono;
 String CorreoElectronico;
 String Intensivo1;
 String Intensivo2;

 public PaqueteDeDatos(String a, String b, String c, String d, String e, String f, String g, String h) 
 {
  Nombre = a;
  Apellido = b;
  Cedula = c;
  Direccion = d;
  Telefono = e;
  CorreoElectronico = f;
  Intensivo1 = g;
  Intensivo2 = h;
 }
 public String toString()
 {
  StringBuilder sb = new StringBuilder();
  sb.append(Nombre).append(" ")
    .append(Apellido).append(" ")
    .append(Cedula).append(" ")
    .append(Direccion).append(" ")
    .append(Telefono).append(" ")
    .append(CorreoElectronico).append(" ")
    .append(Intensivo1).append(" ")
    .append(Intensivo2).append(" ");
  return sb.toString();
 }
}

男人我爱你!!!我真的喜欢。你是我的新英雄,这正是我需要的。谢谢你,谢谢你,谢谢你,直到时间的尽头!在这里使用
StringBuilder
比使用简单的
String
串联没有任何优势。@Joachim:Performance vise Yes!我之所以这么说,是因为有很多属性用于对象和可读性。可读性是有争议的(我发现直接版本更可读)。但你所说的“对于对象”是什么意思呢?@aNish Performance vise no,因为在这种情况下,编译器会自动执行该操作。你可以通过检查你的字节码来验证这一点。男人们,我爱你!!!我真的喜欢。你是我的新英雄,这正是我需要的。谢谢你,谢谢你,谢谢你,直到时间的尽头!在这里使用
StringBuilder
比使用简单的
String
串联没有任何优势。@Joachim:Performance vise Yes!我之所以这么说,是因为有很多属性用于对象和可读性。可读性是有争议的(我发现直接版本更可读)。但你所说的“对于对象”是什么意思呢?@aNish Performance vise no,因为在这种情况下,编译器会自动执行该操作。您可以通过检查字节码来验证这一点。
class PaqueteDeDatos 
{
 String Nombre;
 String Apellido; 
 String Cedula; 
 String Direccion;
 String Telefono;
 String CorreoElectronico;
 String Intensivo1;
 String Intensivo2;

 public PaqueteDeDatos(String a, String b, String c, String d, String e, String f, String g, String h) 
 {
  Nombre = a;
  Apellido = b;
  Cedula = c;
  Direccion = d;
  Telefono = e;
  CorreoElectronico = f;
  Intensivo1 = g;
  Intensivo2 = h;
 }
 public String toString()
 {
  StringBuilder sb = new StringBuilder();
  sb.append(Nombre).append(" ")
    .append(Apellido).append(" ")
    .append(Cedula).append(" ")
    .append(Direccion).append(" ")
    .append(Telefono).append(" ")
    .append(CorreoElectronico).append(" ")
    .append(Intensivo1).append(" ")
    .append(Intensivo2).append(" ");
  return sb.toString();
 }
}