要考试,求注释~~~~ 100分,在线等~~~

wuhuajieicebite 2004-06-10 09:39:25
public class Reverse {
public static void main( String args[ ] ) {
ServerSocket sSock = null;
try {
sSock = new ServerSocket( 1234 );
}
catch( IOException e ) {
System.err.println( e );
return;
}
System.out.println( "Server running..." );
while ( true ) {
try {
Socket sock = sSock.accept();
BufferedReader in = new BufferedReader(
new InputStreamReader( sock.getInputStream() ) );
String t = in.readLine();
if ( t != null ) { // something read?
PrintWriter ps = new PrintWriter(sock.getOutputStream());
ps.println(new String(new StringBuffer(t).reverse()));
ps.flush();
}
sock.close();
} catch( IOException e ) { System.err.println( e ); }
}
}
}
...全文
144 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ainterpol 2004-06-10
  • 打赏
  • 举报
回复
那个通信的程序没有指定Server的IP怎么能联上去?请高手指点一下。
wuhuajieicebite 2004-06-10
  • 打赏
  • 举报
回复
谢谢了
hq1305018 2004-06-10
  • 打赏
  • 举报
回复
我算够意思了吧?
wuhuajieicebite 2004-06-10
  • 打赏
  • 举报
回复
好了吗?
wuhuajieicebite 2004-06-10
  • 打赏
  • 举报
回复
谢谢了,搞定后,我回给你分的,决不低与100分
hq1305018 2004-06-10
  • 打赏
  • 举报
回复
大哥你能不能一起贴完啊?真不少啊?
你等等。
wuhuajieicebite 2004-06-10
  • 打赏
  • 举报
回复
最后一段了:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class MaceGUI extends JFrame implements ActionListener {
public MaceGUI() {
super( "Midwest Association for Charisma Enhancement" );
pane = getContentPane();
buttons = new JPanel( new FlowLayout() );
misc = new JPanel( new FlowLayout() );
stList = new JPanel();
married = new JRadioButton( "Married", false );
email = new JTextField( promptE );
name = new JTextField( promptN );
reasons = new JTextArea( promptR );
list = new JList( states ); //** Midwest state names
init();
setVisible( true );
}
public void actionPerformed( ActionEvent e ) {
String cmd = e.getActionCommand();
if ( cmd.equals( submit ) )
submitForm();
else if ( cmd.equals( clear ) )
clearForm();
else if ( cmd.equals( exit ) )
System.exit( 0 );
}
private void submitForm() {
String t = (list.getSelectedValue() == null) ? "none" :
list.getSelectedValue().toString();
post( name.getText(), email.getText(), t,
(married.isSelected()) ? "married" : "not maried",
reasons.getText() );
}
private void clearForm() {
reasons.setText( promptR );
name.setText( promptN );
email.setText( promptE );
married.setSelected( false );
list.getSelectionModel().clearSelection();
}
//*** For now, a stub function that prints to the standard error.
private void post( String n, String e, String s,
String m, String r ) {
System.err.println( n + " " + e + " " + s + "\n" + m + "\n" + r );
}
private void init() {
JLabel j;
Font f = null;
pane.setLayout( new BorderLayout() );
buttons.setBackground( Color.gray );
email.setFont( f = new Font( "Dialog", Font.BOLD, 12 ) );
name.setFont( f );
reasons.setFont( f );
reasons.setLineWrap( true );
misc.add( name ); misc.add( email ); misc.add( married );
list.setFont( f );
list.setBackground( Color.cyan );
list.getSelectionModel().setSelectionMode(
ListSelectionModel.SINGLE_SELECTION );
stList.setLayout( new BoxLayout( stList, BoxLayout.Y_AXIS ) );
stList.add( j = new JLabel( "Home state " ) );
j.setFont( f );
j.setForeground( Color.black );
stList.add( list );
addButton( submit ); addButton( clear ); addButton( exit );
pane.add( buttons, BorderLayout.NORTH );
pane.add( reasons, BorderLayout.CENTER );
pane.add( stList, BorderLayout.WEST );
pane.add( misc, BorderLayout.SOUTH );
pack();
}
private void addButton( String name ) {
JButton b = new JButton( name );
b.setFont( new Font( "Dialog", Font.BOLD, 14 ) );
b.addActionListener( this );
buttons.add( b );
}
//*** instance fields
private Container pane;
private JPanel buttons, misc, stList;
private JList list;
private JRadioButton married;
private JTextField email, name;
private JTextArea reasons;
//*** class fileds
private final static String submit = " Submit ";
private final static String clear = " Clear ";
private final static String exit = " Exit ";
private final static String promptN =
"First and last name ";
private final static String promptE =
"E-mail address ";
private final static String promptR =
" My charisma needs enhancement because";
private final static String[ ] states =
{ "Illinois", "Indiana", "Iowa", "Kansas", "Minnesota",
"Michigan", "Missouri", "Nebraska", "Ohio", "Wisconsin" };
}
hq1305018 2004-06-10
  • 打赏
  • 举报
回复
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Vector;
class SieveErat {
public static void main( String[ ] args ) {
new SieveGui();//建立SieveGui对象,并开始程序运行。
}
}
class SieveGui extends JFrame implements Runnable {//SieveGui类,扩展JFrame类,实现Runnable接口。
public SieveGui() {//构造器
super( "Sieve of Eratosthenes" );//调用父类构造器。
init(); pack(); show();//依次调用方法,添加组件,显示窗体。
}
public void run() {//找出n以内的所有质数。
boolean[ ] multiple = new boolean[ n ];//定义n个元素的布尔型数组。
int i = 2;
while ( i < n ) { //循环条件判断
boolean repeat = false;
for ( int j = i + 1; j < n; j++ ) //从i+1循环到n
if ( j % i == 0 ) {//如果j能被i整除。
multiple[ j ] = true; //将数组与j同下标的元素置true。
repeat = true;//置循环标记。
}
if ( !repeat ) //如果repeat标记为假,终止循环。
break;
while ( ++i < n && multiple[ i ] ) //遍历到multiple元素不为真的第一个i值,开始下一次循环。
;
pause(); //线程休息2ms
}
Vector v = new Vector();
for ( i = 2; i < n; i++ ) { //将所以质数加入v集合。
if ( !multiple[ i ] )
v.addElement( String.valueOf( i ) );
}
addAnsList( v ); //调用addAnsList方法,构造所以质数的显示列表及滚动条。
threadRunning = false;//线程运行标记为false.。
}
private void addAnsList( Vector v ) {//构造所以质数的显示列表及滚动条
JList l = new JList( v ); l.setFont( font );
c.add( ansPane = new JScrollPane( l ) ); pack();
}
private void pause() { // 线程暂停
try { Thread.sleep( 2 ); } catch( InterruptedException e ) { }
}
private void init() {
c = getContentPane();//获取内容面板。
c.setFont( font = new Font( "Dialog", Font.BOLD, 12 ) );//设置字体
c.setLayout( new FlowLayout() );//设置布局。
JButton start = new JButton( "Start" );//Start按钮。
start.addActionListener( new ActionListener() {//为Start按钮添加ActionListener,点击该按钮调用startSieve()方法。
public void actionPerformed( ActionEvent e ) {
startSieve();
} } );
JButton exit = new JButton( "Exit" );//Exit按钮。
exit.addActionListener( new ActionListener() {//为Exit按钮添加ActionListener,点击该按钮退出程序。
public void actionPerformed( ActionEvent e ) {
System.exit( 0 );
} } );
Vector v = new Vector();//建立集合V。
int k = 100;
for ( int i = 0; i < 6; i++ ) {//v中被添加6个元素,分别是:"100","1000","10000","100000","1000000","10000000",
v.addElement( String.valueOf( k ) );
k *= 10;
}
numList = new JList( v );//用集合v构造一个列表。
numList.setFont( font );//设置列表的字体。
c.add( exit ); c.add( start ); c.add( numList );//将以上组件添到窗体中。
}
private void startSieve() {
String s = (String) numList.getSelectedValue();//获取列表框当前选择的值。
if ( s == null || threadRunning )//如果列表框没有选择或线程已开始运行,返回。
return;
if ( ansPane != null ) {//如果ansPane滚动面板不为空,从窗体删除之,并重新布置窗体。
c.remove( ansPane ); pack();
}
n = Integer.parseInt( s );//将得到的"100"等字符变换为整型,存入n。
threadRunning = true; //设置运行标记
new Thread( this ).start();//开始运行线程,调用run()方法。
}
private Container c;
Font font;
private JList numList;
private JScrollPane ansPane;
private int n;
private boolean threadRunning;
}
wuhuajieicebite 2004-06-10
  • 打赏
  • 举报
回复
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Vector;
class SieveErat {
public static void main( String[ ] args ) {
new SieveGui();
}
}
class SieveGui extends JFrame implements Runnable {
public SieveGui() {
super( "Sieve of Eratosthenes" );
init(); pack(); show();
}
public void run() {
boolean[ ] multiple = new boolean[ n ];
int i = 2;
while ( i < n ) { //*** determine which integers are primes
boolean repeat = false;
for ( int j = i + 1; j < n; j++ )
if ( j % i == 0 ) {
multiple[ j ] = true;
repeat = true;
}
if ( !repeat ) //*** any more numbers eliminated?
break; //*** if not, search for primes is finished
while ( ++i < n && multiple[ i ] ) //*** else get next element
;
pause(); //*** sleep a bit...
}
Vector v = new Vector();
for ( i = 2; i < n; i++ ) { //*** add primes to an answer list
if ( !multiple[ i ] )
v.addElement( String.valueOf( i ) );
}
addAnsList( v );
threadRunning = false;
}
private void addAnsList( Vector v ) {
JList l = new JList( v ); l.setFont( font );
c.add( ansPane = new JScrollPane( l ) ); pack();
}
private void pause() { // pauses the sieve thread
try { Thread.sleep( 2 ); } catch( InterruptedException e ) { }
}
private void init() {
c = getContentPane();
c.setFont( font = new Font( "Dialog", Font.BOLD, 12 ) );
c.setLayout( new FlowLayout() );
JButton start = new JButton( "Start" );
start.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent e ) {
startSieve();
} } );
JButton exit = new JButton( "Exit" );
exit.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent e ) {
System.exit( 0 );
} } );
Vector v = new Vector();
int k = 100;
for ( int i = 0; i < 6; i++ ) {
v.addElement( String.valueOf( k ) );
k *= 10;
}
numList = new JList( v );
numList.setFont( font );
c.add( exit ); c.add( start ); c.add( numList );
}
private void startSieve() {
String s = (String) numList.getSelectedValue();
if ( s == null || threadRunning )
return;
if ( ansPane != null ) {
c.remove( ansPane ); pack();
}
n = Integer.parseInt( s );
threadRunning = true;
new Thread( this ).start();
}
private Container c;
Font font;
private JList numList;
private JScrollPane ansPane;
private int n;
private boolean threadRunning;
}
这是第三段,谢谢
wuhuajieicebite 2004-06-10
  • 打赏
  • 举报
回复
行,就要这样的
rosen 2004-06-10
  • 打赏
  • 举报
回复
这样也行??
wuhuajieicebite 2004-06-10
  • 打赏
  • 举报
回复
大哥,你好强~~我还有几个这样的帖子,麻烦你也详细的注释一下,
100分是你的了,
hq1305018 2004-06-10
  • 打赏
  • 举报
回复
这是第二段:
import java.net.*;
import java.io.*;
public class ReverseClient {//客户端类
public static void main( String[ ] args ) {
if ( args.length < 1 ) {//如果没有参数,打印使用说明,并返回。
System.err.println( "ReverseClient <IP address of server>" );
return;
}
try {
String s = "In the Quiet Morning";//要发送的初始消息。
Socket sock = new Socket( args[ 0 ], 1234 );//建立客户端套接字。
PrintWriter out = new PrintWriter( sock.getOutputStream() );//建立输出流。
out.println( s );//向服务器端发送消息
out.flush();//刷新缓存
BufferedReader in = new BufferedReader(
new InputStreamReader( sock.getInputStream() ) );//建立输入流。
String t = in.readLine();//读取服务器端消息。
if ( t != null ) //如果消息不为空,打印发出的消息和接收到的消息。
System.out.println( "To server: " + s +
"\nFrom server: " + t );
sock.close();//关闭套接字。
} catch( IOException e ) { System.err.println( e ); }//操作异常,打印异常信息。
}
}
wuhuajieicebite 2004-06-10
  • 打赏
  • 举报
回复
还有第二段,请高手帮帮忙,也注释一下
camel4057 2004-06-10
  • 打赏
  • 举报
回复
public class Reverse { //你的类名
public static void main( String args[ ] ) { //主函数入口
ServerSocket sSock = null; //定义一个服务器端的socket
try {
sSock = new ServerSocket( 1234 ); //将sSock在1234端口处实例化
}
catch( IOException e ) { //异常处理
System.err.println( e );
return;
}
System.out.println( "Server running..." ); //输出Server running....
while ( true ) { //服务端一直执行,直到用户中断
try {
Socket sock = sSock.accept(); //建立一个soket来接受服务器端收到的数据。
BufferedReader in = new BufferedReader( //建立一个bufferedReader对象,用来存放接收到的数据。
new InputStreamReader( sock.getInputStream() ) );
String t = in.readLine(); //一行一行的读取数据
if ( t != null ) { // something read? //如果用数据,就把数据显示出来。
PrintWriter ps = new PrintWriter(sock.getOutputStream());
ps.println(new String(new StringBuffer(t).reverse()));
ps.flush();
}
sock.close(); //关闭socket对象
} catch( IOException e ) { System.err.println( e ); }//异常处理
}
}
}
stonecsdn 2004-06-10
  • 打赏
  • 举报
回复

public class Reverse {
public static void main( String args[ ] ) {
ServerSocket sSock = null;
try {
sSock = new ServerSocket( 1234 );//生成一个服务器端的socket,端口号1234
}
catch( IOException e ) { //异常返回
System.err.println( e );
return;
}
System.out.println( "Server running..." );
while ( true ) {//循环接受数据
try {
Socket sock = sSock.accept();//生成一个服务器端用来于客户端交互的 //socket,前提是有客户端访问
//

BufferedReader in = new BufferedReader( //
new InputStreamReader( sock.getInputStream() ) );
String t = in.readLine();
if ( t != null ) { // something read?
PrintWriter ps = new PrintWriter(sock.getOutputStream());
ps.println(new String(new StringBuffer(t).reverse()));
ps.flush();
}
sock.close();
} catch( IOException e ) { System.err.println( e ); }
}
}
}
wuhuajieicebite 2004-06-10
  • 打赏
  • 举报
回复
大哥,我要的是详细的注释啊,
hq1305018 2004-06-10
  • 打赏
  • 举报
回复
public class Reverse {
public static void main( String args[ ] ) {
ServerSocket sSock = null;//服务器端套接字
try {
sSock = new ServerSocket( 1234 );//服务端口为1234
}
catch( IOException e ) {
System.err.println( e ); //有错误输出异常信息并返回。
return;
}
System.out.println( "Server running..." );//打印"Server running...."
while ( true ) {//循环接收客户端请求
try {
Socket sock = sSock.accept(); //接收到客户端请求,建立服务套接字。
BufferedReader in = new BufferedReader(
new InputStreamReader( sock.getInputStream() ) );//获取输入流
String t = in.readLine();//获取消息(从客户端);
if ( t != null ) { // something read?如果有消息
PrintWriter ps = new PrintWriter(sock.getOutputStream());//建立输出流
ps.println(new String(new StringBuffer(t).reverse()));//将消息字符串转置。
ps.flush();//刷新缓存
}
sock.close();//关闭套接字
} catch( IOException e ) { System.err.println( e ); }//操作异常打印异常信息。
}
}
}
rosen 2004-06-10
  • 打赏
  • 举报
回复
用Socket进行远程数据接收。
wuhuajieicebite 2004-06-10
  • 打赏
  • 举报
回复
这是第二段:
import java.net.*;
import java.io.*;
public class ReverseClient {
public static void main( String[ ] args ) {
if ( args.length < 1 ) {
System.err.println( "ReverseClient <IP address of server>" );
return;
}
try {
String s = "In the Quiet Morning";
Socket sock = new Socket( args[ 0 ], 1234 );
PrintWriter out = new PrintWriter( sock.getOutputStream() );
out.println( s );
out.flush();
BufferedReader in = new BufferedReader(
new InputStreamReader( sock.getInputStream() ) );
String t = in.readLine();
if ( t != null )
System.out.println( "To server: " + s +
"\nFrom server: " + t );
sock.close();
} catch( IOException e ) { System.err.println( e ); }
}
}
要考试了,请各位高手帮帮忙,先谢了~~

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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