import java.awt.*;
import java.util.*;
import java.awt.event.*;
public class Io extends Frame{
private TextField text = new TextField(10);
public Io(){
super("input");
add(text);
pack();
setVisible(true);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent we){
System.exit(0);
}
});
init(){
String answer = (" ");
String input=text.getText();
while(!answer.equals("再见")){
System.out.print("你说:");
answer = input.next();
if(answer.equals("你好")){
System.out.println("小p:你好!我是小P,你是谁啊?");}
else if(answer.equals("我是令狐冲。")){
System.out.println("你终于回来啦!我好想你哦!");
}
else if(answer.equals("再见")){
System.out.println("再见!下次还找我来玩哦!");
}
     else {
     System.out.println("对不起,我不懂你在说什么。");
     }
}
}
}
public static void main (String[] args) {
Io i =new Io();
}

}
各位帮忙看看这个程序出什么问题了!怎么修改啊!程序实现的功能是:你说:你好
小p:你好!我是小P,你是谁啊?
你说:我是令狐冲。
你终于回来啦!我好想你哦!
你说:受到法
对不起,我不懂你在说什么。
你说:再见
再见!下次还找我来玩哦!在文本框中输出。
请各位帮帮忙!!!!

解决方案 »

  1.   

    老大,没看见你在任何地方调用init()啊
      

  2.   

    要不你就把init定义成一个方法,
    要不就把 init{和下面的一个}去掉再试。
      

  3.   

    answer = input.next(); 
    这句肯定有问题,咋拿个text输入框来取next?又不是读取键盘输入的命令行
    可能你的text得用keyListener来实现,当keycode为回车键得时候,再去调用你的while里面得那段。然后另外再开个textarea来显示聊天记录
      

  4.   

    import java.awt.*;
    import java.util.*;
    import java.awt.event.*;import javax.swing.*;
    class Io extends JFrame {
    private JTextArea jta = new JTextArea(6,25);
    private JLabel jl1 = new JLabel("你说 :");
    private JLabel jl2 = new JLabel("小P :");
    private JTextField jtf1 = new JTextField(25);
    private JTextField jtf2 = new JTextField(25);
    public Io(){
      super("input");
      JPanel p1 = new JPanel();
      JPanel p2 = new JPanel();
      JPanel p3 = new JPanel();
      JPanel p4 = new JPanel();
      p1.setLayout(new FlowLayout());
      p2.setLayout(new FlowLayout());
      p4.setLayout(new FlowLayout());
      p1.add(jl1);
      p1.add(jtf1);
      p2.add(jl2);
      p2.add(jtf2);
      p4.add(p1);
      p4.add(p2);
      p3.add(new JScrollPane(jta));
      
      add(p4,BorderLayout.CENTER);
      add(p3,BorderLayout.SOUTH);
      this.setSize(350, 300);
      this.setVisible(true);
      jtf1.addKeyListener(new KeyAdapter(){
    public void keyPressed(KeyEvent e) {
      
      if(e.getKeyCode() == KeyEvent.VK_ENTER){
         String temp = jtf1.getText();
         
         if(temp.equals("你好")){
          jtf2.setText("你好!我是小P,你是谁啊?");
          jtf1.setText("");
          jta.append(temp+"\n"+jtf2.getText()+"\n");
         }else 
          if(temp.equals("我是令狐冲")){
          jtf2.setText("你终于回来啦!我好想你哦!");
          jtf1.setText("");
          jta.append(temp+"\n"+jtf2.getText()+"\n");
          }else
          if(temp.equals("再见")){
          jtf2.setText("再见!下次还找我来玩哦!");
          jtf1.setText("");
          jta.append(temp+"\n"+jtf2.getText()+"\n");
          }else
          {
          jtf2.setText("对不起,我不懂你在说什么。");
          jtf1.setText("");
          jta.append(temp+"\n"+jtf2.getText()+"\n");
          }
      }
    }
    });
    }public static void main (String[] args) {
         new Io();
    }}