new Counter()怎么调用toString()

aimsgmiss 2012-10-19 10:53:21
import java.util.Hashtable;
class Counter
{
int i=1;
public String toString()
{
return Integer.toString(i);
}
}
public class Test
{
public static void main(String[] args)
{
Hashtable t=new Hashtable();
for(int i=0;i<1000;i++)
{
Integer r=new Integer((int)(Math.random()*200));
if(t.containsKey(r))

((Counter)t.get(r)).i++;

else
t.put(r, new Counter());//这里
}
System.out.println(t);
}
}
...全文
186 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
z744489075 2012-10-20
  • 打赏
  • 举报
回复
new Counter().toString();就行了哦
ld191474639 2012-10-20
  • 打赏
  • 举报
回复
Counter c=new Counter();
c.toString();等价于
new Counter().toString();
JavaGary 2012-10-20
  • 打赏
  • 举报
回复
初学,Hashtable还不懂是什么。好像Core Java第二本才有Hashtable的介绍去了。
aaaabbbccd9876 2012-10-20
  • 打赏
  • 举报
回复
服务端
import java.net.*;
import java.io.*;
import java.util.*;
class fanserver
{
static List<fanclient> client = new ArrayList<fanclient>();
public static void main(String[] args)throws Exception
{
Socket s;
ServerSocket ss = new ServerSocket(4445);
while(true){
s = ss.accept();
System.out.println("haha...");
server ser = new server(s);
new Thread(ser).start();
client.add(ser);
}
/* BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bwout =
new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader brin =
new BufferedReader(new InputStreamReader(s.getInputStream()));
String str = null;
while((str=brin.readLine())!=null){
// System.out.println(str);
bwout.write(str);
bwout.flush();
bwout.newLine();
}
*/

// s.shutdownOutput();


}
}
class server implements Runnable
{
private Socket s;
server(Socket s){
this.s = s;
}
public void run(){
try{

BufferedWriter bwout =
new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader brin =
new BufferedReader(new InputStreamReader(s.getInputStream()));

String str = null;
while((str=brin.readLine())!=null){
System.out.println(str);
bwout.write(str);
bwout.newLine();

bwout.flush();
}
// s.shutdownOutput();

}
catch(Exception e){}
}
}
Java code客户端

import java.net.*;
import java.io.*;
class fanclient
{

public static void main(String[] args)throws Exception
{
Socket s = new Socket("192.168.30.129",4445);
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bwout =
new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader brin =
new BufferedReader(new InputStreamReader(s.getInputStream()));
new Thread(new client(brin)).start();
String str = null;
while((str=br.readLine())!=null){

bwout.write(str);

bwout.newLine();
bwout.flush();

}

// s.shutdownOutput();

// String line = brin.readLine();
// System.out.println(line);


}
}
class client implements Runnable
{
private BufferedReader brin;
client(BufferedReader brin)
{
this.brin = brin;
}
public void run(){
String line = null;
try{
while((line=brin.readLine())!=null){
System.out.println(line);
}
}catch(Exception e){}
}
}

我同时启动好几个客户端,想让客户端通过服无端互相接收到信息,怎么处理,

aimsgmiss 2012-10-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

new Counter().toString();就行了哦
[/Quote]能不能详细点吧
ld191474639 2012-10-20
  • 打赏
  • 举报
回复
toString()是object的方法,每个类都可以直接调用.
aimsgmiss 2012-10-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

Counter c=new Counter();
c.toString();等价于
new Counter().toString();
[/Quote]没有显示的调用这是怎么回事!难道默认的,迷茫
ld191474639 2012-10-19
  • 打赏
  • 举报
回复
t.put(r, new Counter());//这里
t.put(r, new Counter().toString());//这里

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧