用JAVA写了一个程序,但是输出是乱码。为什么??如何修改??代码如下:

interface Pet
{
public String getName();
public String getColor();
public int getAge();
}

class Cat implements Pet
{
private String name;
private String color;
private int age;
public Cat(String name,String color,int age)
{this.setName(name);
this.setColor(color);
this.setAge(age);
}
public void setName(String name)
{this.name=name;}
public void setColor(String color)
{this.color=color;}
public void setAge(int age)
{this.age=age;}
public String getName()
{return this.name;}
public String getColor()
{return this.color;}
public int getAge()
{return this.age;}
};

class Dog implements Pet
{
private String name;
private String color;
private int age;
public Dog(String name,String color,int age)
{this.name=name;
this.color=color;
this.age=age;
}
public void setName(String name)
{this.name=name;}
public void setColor(String color)
{this.color=color;}
public void setAge(int age)
{this.age=age;}
public String getName()
{return this.name;}
public String getColor()
{return this.color;}
public int getAge()
{return this.age;}
};

class PetShop
{
private Pet[] pets;
private int foot=0;
public PetShop(int len)
{this.pets=new Pet[len];}

public void add(Pet pet)
{
this.pets[this.foot]=pet;
this.foot++;
//for(int i=0;i<this.pets.length;i++)
System.out.println(this.pets[1]);}
}

public class S
{
public static void main(String args[])
{
PetShop ps=new PetShop(5);
ps.add(new Cat("白猫","白色",2));
ps.add(new Cat("黑猫","黑色",1));
ps.add(new Cat("小猫","棕色",2));
ps.add(new Dog("白狗","白色",4));
ps.add(new Dog("黑狗","黑色",3));
}

};
运行结果:

System.out.println(this.pets[1]);
这句话打印的是对象,你可以在把pet实现为抽象类,覆写方法toString()追问

能写下怎么修改吗??新手不太会啊,拜托了

追答
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-11-18
可以这样
public interface pet{
....
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}追问

好高端的样子,还没又学到这个命令。

本回答被网友采纳

java打印中文乱码?
java中输入输出中文乱码,怎么办?1、在代码区域右键-runas-runconfigurations-common(右侧)-consoleencoding如果出现此错误,此时的编码格式应该是UTF-8,选择Other,这时可能没有GBK选项,如果没有,则执行之后操作。2、读取文件的时候如果是用的read方法(字节流),碰到中文输出就是乱码,然后存储的时候设置...

.java怎么把乱码转成文字
一、Java中文问题的由来 Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。首先Java(包括JSP)源文件中很可能包含有中文,而Java和JSP源文件的保...

在java中怎样处理中文乱码的问题?(有几种处理方式)
读取文件的时候如果是用的read方法(字节流),碰到中文输出就是乱码,然后存储的时候设置下编码为GBK或者是UTF-8形式即可,可以有效的解决乱码问题。可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。BufferedReader bre = null;try { String file = "D:\/test\/test.txt...

Java用eclipse写了一个复制的练习题,为什么全是乱码呢?
如果你的系统是非中文的,你的ANSI对应着相应的编码。当读取一个文件中的中文时,就会出现乱码。当然通过FileWriter写入另一个文件时,也会是乱码。(因为问题出在读取上)解决办法:1 通过另一个节点流FileInputStream转码。InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "GB...

为什么java中输入中文乱码?
这是因为.java只识别不带BOM的UTF-8编码。所以应该用EmEditor、Editplus、ULtraEdit或notepad++之类的工具另存为UTF-8(无BOM)。然后就可以用javac.java编译.java文件了。\/iknow-pic.cdn.bcebos.com\/7e3e6709c93d70cffc997422f5dcd100baa12bba"target="_blank"title="点击查看大图"class="ikqb_img_...

IDEA 编译java后中文乱码怎么解决
当使用IDEA编译Java后,遇到中文乱码问题时,可以采取两种方法来解决。首先,确保在页面请求和响应中设置正确的编码。在Java代码中,设置请求头的编码为"utf-8",如下:request.setCharacterEncoding("utf-8"); \/\/ 设置请求编码 response.setContentType("text\/html;charset=utf-8"); \/\/ 设置响应编码...

如何解决Java项目中的中文乱码
1. 如果其他的项目中不存在乱码问题,只是个别项目显示时出现乱码,那么我们不需要设置工作空间的编码,只需要修改项目的编码即可。2. 选中项目后,右键点击,在弹出的菜单中点击属性(Properties)。3. 在弹出的属性窗口中,选择资源(Resource)— —点击选择Other(其他),然后选择你想要的编码格式。三....

idea编译java后中文乱码怎么解决
如果在控制台输出中出现了乱码,可能是因为控制台使用的编码与程序输出的编码不一致。可以尝试修改IDEA控制台输出的编码设置。在IDEA的“Run”菜单中,选择“Edit Configurations”,然后在相应配置下设置“VM options”,添加或修改编码相关的参数。综上所述,解决IDEA编译Java后中文乱码问题,主要需要从源码...

java解决中文乱码转码
乱码的原因在于编码方式的不匹配,比如在一个使用UTF-8编码的环境中,如果使用了GBK编码去读取数据,就会导致中文乱码。因此,解决乱码问题的关键是确保在相同的环境中使用相同的编码方式。具体解决方法可以分为以下几个方面:1. 确保源代码文件本身保存时使用的编码方式是正确的。在Java开发环境中,一般推荐...

eclipse中java中文控制台输出的这种乱码怎么解决
eclipse中java中文控制台输出的这种乱码解决方式:一、(1)打开eclipse或myeclipse,点击run-》runconfigurations 如图提示,改成UTF-8,有的eclipse或myeclipse有可能需要gbk的形式,不同形式改成不同的编码,尝试一下即可。(2)Arguments也需要更改一下。二、方法如下:打开eclipse.ini文件(在eclipse的...

相似回答
大家正在搜