当我尝试从数组中获取输出时,我总是得到以下输出:
test1.Buch@5ef4b65d
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我我做错了什么吗?
Buch[] buch = new Buch[30];
for(int i = 1; i < buch.length; i++) {
buch[i] = new Buch();
char reply;
Scanner in = new Scanner(System.in);
// input data into the Array
//.....
System.out.println(buch[i]);
Run Code Online (Sandbox Code Playgroud) 对于代码
int []arr = new int[4];
System.out.println(arr);
Run Code Online (Sandbox Code Playgroud)
输出看起来像
[I @ 54640b25
编译器究竟打印出来的是什么?arr的内存地址?与C不同,Java似乎没有将数组名称(单独)等同于数组的第一个位置.
我有一个例子来覆盖toString()方法.
import java.util.Scanner;
public class Demo{
String name = "";
String age = "";
Demo(String name, String age){
this.name = name;
this.age = age;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the name:");
String name = scanner.next();
System.out.print("Enter the age:");
String age = scanner.next();
Demo test = new Demo(name, age);
System.out.println(test);
}
public String toString() {
return ("Name=>" + name + " and " + "Age=>" + age);
}
}
Run Code Online (Sandbox Code Playgroud)
我的疑问是,即使从构造函数也不从main调用toString()方法,如何将Name => abc和Age => …
我想制作一个字符串的副本,而没有字符串变量引用前一个字符串.toString()方法会成为解决方案吗?
换句话说,String.toString()是否返回其字符的副本而不是对其自身的引用?
好的,所以我们必须创建一个书架,并在一个单独的文件上创建具有发布者,作者,版权日期等的对象(基本上为驱动程序类创建一个对象).我本周已经重做了两次,仍然得到同样的错误.也许有人可以指出我正确的方向?也许我错过了什么,我不确定.编辑:问题是:对不起我正在准备工作并超越自己我有三个:首先输出给我:预订@ 15db9742预订@ 6d06d69c然后今年的书类是红色说从一个转换字符串到int所以我这样做,它想要回到另一个方向
public class Book {
private String title;
private String author;
private String publisher;
private int copyDate;
public Book(String bookTitle, String authorName, String publisherName, int bookYear){
title = bookTitle;
author = authorName;
publisher = publisherName;
copyDate = bookYear;
}
public Book(){
title = "book titler";
author = "author name";
publisher = "book publisher";
copyDate = "2014";
}
public String getTitle() {
return title;
}
public void setTitle(String bookTitle) {
title=bookTitle;
}
public String getAuthor() {
return author;
} …Run Code Online (Sandbox Code Playgroud) 我在 java 中创建了一个形状对象,它具有属性颜色、角和名称。然后我有一个方法 create shape 返回一个 Shape 对象。例如,我创建了一个圆圈。我需要做的是返回对象的字符串,例如shape.toString()需要是:
Circle[c=Blue,cnr=0]:cirleName
Run Code Online (Sandbox Code Playgroud)
但我得到:
com.shape.model.Circle@64fa8cc6
Run Code Online (Sandbox Code Playgroud) 有这个:
static class Girl{
public String age;
public String name;
public String id;
}
static Girl[] girl;
Run Code Online (Sandbox Code Playgroud)
然后我无法在我的主要功能中执行此操作:
ResultSet r = s.executeQuery("select count(*) from children");
r.next();
girl_count=r.getInt(1);
girl = new Girl[girl_count];
r = s.executeQuery("select * from children");
int i = 0;
while(r.next()){
i = r.getString("id");
if(girl[i]==null)girl[i]=new Girl();
girl[i].age=r.getString("age");
girl[i].name=r.getString("name");
girl[i].id=r.getString("id");
}
Run Code Online (Sandbox Code Playgroud)
上面的代码不起作用,我想要实现的是:
System.out.println(girl[3]);
Run Code Online (Sandbox Code Playgroud)
尤其是这一行:
girl = new Girl[girl_count];
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我纠正这段代码吗? - 或者找出我在这里失踪的东西?