【问题标题】:My code keeps on Printing " [Ljava.lang.String;@4e50df2e "not really sure where to and how to put this toString()我的代码一直在打印“ [Ljava.lang.String;@4e50df2e”,不太确定该放在哪里以及如何放置 toString()
【发布时间】:2020-09-15 04:34:52
【问题描述】:

** 如您所见,我编写了一个程序来打印同一分支和学院的学生记录,用户在其中输入姓名和卷号。

我尝试从我的 IDE 生成 toString(),但它仍然显示“[Ljava.lang.String;@4e50df2e”这些...请帮我摆脱这个...谢谢。**


class Stur
{
static String branchcode="C04";
static String branch="Computer Sc. & Eng. ";
static String rollcode="18020";
static String collegeName="Kalaniketan Polytechnic College";

String rollno[],name[];

Stur(String n[],String r[])
{
rollno=r;
name=n;


System.out.println(name+" \t "+rollcode+""+branchcode+""+rollno+" \t"+branch+""+collegeName);

}
}   



class staticVar1    //main method class
{
public static void main(String ujyg[])
 
{
int j=0, i=0;

Scanner object=new Scanner(System.in);

System.out.println("how many Students ");
int n=object.nextInt();
String arr[]=new String [n];


for(i=0;i<arr.length;i++)
{
    System.out.print("Enter roll number:");
    arr[i]=object.next();

    System.out.print("Enter Name:");
    arr[i]=object.next();
}

System.out.println("Name \t Roll Number \t   Branch \t\t College\n");


for(j=0;j<arr.length;j++)
{
Stur st=new Stur(new String[i], new String[i]);      

}}
}

期待这样的输出

Name    Roll Number     Branch    College

Anf   18020C0406     Computer Sc. & Eng. Kalaniketan Polytechnic College 
xyz   18020C0402     Computer Sc. & Eng. Kalaniketan Polytechnic College
Ad    18020C0405     Computer Sc. & Eng. Kalaniketan Polytechnic College 
Ax    18020C0401     Computer Sc. & Eng. Kalaniketan Polytechnic College 

【问题讨论】:

  • 你的类中toString() 方法在哪里?
  • 我不知道把它放在哪里....请帮帮我@code_mechanic
  • 我想@gupta_hemant 已经回答了你的问题,那能回答你的问题吗?

标签: java arrays constructor overriding tostring


【解决方案1】:

请查找更新的代码。


class Stur
{
  static String branchcode="C04";
  static String branch="Computer Sc. & Eng. ";
  static String rollcode="18020";
  static String collegeName="Kalaniketan Polytechnic College";

  String rollno,name;

  Stur(String n,String r)
  {
    rollno=r;
    name=n;
    System.out.println(name + "\t" + rollcode+branchcode+rollno + "\t" + branch + " " + collegeName);
  }
}   

class staticVar1    //main method class
{
  public static void main(String ujyg[]) 
  {
    int j=0, i=0;

    Scanner object=new Scanner(System.in);

    System.out.println("how many Students ");
    int n=object.nextInt();
    String nameArr[]=new String [n];
    String rollnoArr[]=new String [n];


    for(i=0;i<n;i++)
    {
      System.out.print("Enter roll number:");
      rollnoArr[i]=object.next();

      System.out.print("Enter Name:");
      nameArr[i]=object.next();
    }

    System.out.println("Name \t Roll Number \t   Branch \t\t College\n");

    Stur st[] = new Stur[n];
    for(j=0;j<n;j++)
    {
      st[j] = new Stur(nameArr[j], rollnoArr[j]);      

    }
  }
}

你试图直接打印一个数组,所以它给你对象哈希码和类名。如果你想像你提到的那样输出,你需要一个一个地打印数组的元素。

【讨论】:

  • 我该如何初始化它?我试过=...它打印“null”代替对象哈希码
  • Print 语句也在迭代我给出的任何数字的平方倍......(如果我输入 4,它正在打印“null 18020C04null Computer Sc. & Eng. Kalaniketan Polytechnic College”16 次. 如果输入 5 然后 25 次等等。
  • 是的,你是对的,我检查了你的代码。你想让 Stur 类的对象代表一个包含姓名和卷号的学生吗??
  • st[j] = new Stur(nameArr[j], rollnoArr[j]);你能也请解释一下这部分吗?这些值是如何在我们的打印语句中打印的?我不明白。
  • 是这样吗?参数列表中的值,即 nameArr 和 RollnoArr 将进入我们的构造函数参数??\ Stur st[] = new Stur[n] ;这是做什么的?
猜你喜欢
  • 1970-01-01
  • 2019-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多