package test;
import java.awt.*;
import java.awt.event.*;import javax.swing.*;
public class TestString implements ActionListener {
private static String s1;
private static String s2;
// private static StringBuffer s3=null;
JLabel label1,label2;
JTextField text1,text2;
JButton jb;
public TestString(){
label1=new JLabel("please insert into");
label2=new JLabel("Get The Result:");
text1=new JTextField(10);
text2=new JTextField(10);
jb=new JButton("Take It");
jb.addActionListener(this);
JFrame f=new JFrame("Only one Test");
Container contentPane=f.getContentPane();
contentPane.setLayout(new FlowLayout());
f.add(label1);
f.add(text1);
f.add(label2);
f.add(text2);
f.add(jb);
f.pack();
f.show();
//f.setSize(400, 200);
//f.setVisible(true);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public String setString(){
return s1=text1.getText();
}
public String getString(){
char a[]=new char[s1.length()];
int s=s1.length();
for(int i=0;i<s;i++)
{
a[i]=s1.charAt(1);
s1=s1.substring(2);
}
for(int i=0;i<s;i++)
{
String str=null;
if(s2.indexOf(a[i])<0){
str=String.valueOf(a[i]).toString();
s2.concat(str);
}
}
return s2;
}
/**
* @param args
*/
public static void main(String[] args) {
new TestString();
// TODO 自动生成方法存根 }
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jb){
setString();
text2.setText(getString());
}
// TODO 自动生成方法存根
}}
有异常不知道是什么意思,高手解决:
Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.charAt(Unknown Source)
at test.TestString.getString(TestString.java:46)
at test.TestString.actionPerformed(TestString.java:70)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
import java.awt.*;
import java.awt.event.*;import javax.swing.*;
public class TestString implements ActionListener {
private static String s1;
private static String s2;
// private static StringBuffer s3=null;
JLabel label1,label2;
JTextField text1,text2;
JButton jb;
public TestString(){
label1=new JLabel("please insert into");
label2=new JLabel("Get The Result:");
text1=new JTextField(10);
text2=new JTextField(10);
jb=new JButton("Take It");
jb.addActionListener(this);
JFrame f=new JFrame("Only one Test");
Container contentPane=f.getContentPane();
contentPane.setLayout(new FlowLayout());
f.add(label1);
f.add(text1);
f.add(label2);
f.add(text2);
f.add(jb);
f.pack();
f.show();
//f.setSize(400, 200);
//f.setVisible(true);
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public String setString(){
return s1=text1.getText();
}
public String getString(){
char a[]=new char[s1.length()];
int s=s1.length();
for(int i=0;i<s;i++)
{
a[i]=s1.charAt(1);
s1=s1.substring(2);
}
for(int i=0;i<s;i++)
{
String str=null;
if(s2.indexOf(a[i])<0){
str=String.valueOf(a[i]).toString();
s2.concat(str);
}
}
return s2;
}
/**
* @param args
*/
public static void main(String[] args) {
new TestString();
// TODO 自动生成方法存根 }
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jb){
setString();
text2.setText(getString());
}
// TODO 自动生成方法存根
}}
有异常不知道是什么意思,高手解决:
Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: 1
at java.lang.String.charAt(Unknown Source)
at test.TestString.getString(TestString.java:46)
at test.TestString.actionPerformed(TestString.java:70)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
解决方案 »
- 一个简单的小程序 ,可是看不懂参数arges怎么回事,会的给解释啊
- 乘法口诀编写
- 汉字的ASCII是怎么算出来的
- 求助:关于JTextPane的应用问题?
- [求助] 用sax解析xml文件时出错
- 我的 贪食蛇 为什么不接收键盘事件??
- 关于命令行方式下的,应用程序执行信息截获的问题
- 菜鸟求指导 关于 thinking in java 中 forname 的问题
- 我给JButton加了一个KeyListener,为什么必须单击一次button后,listener才起作用?
- 大家帮我看下我自己练习的代码错在哪了
- 帮忙看下 这个程序的线程是不是安全的?
- StringBuffer的capacity变化规律
for(int i=0;i<s;i++)
{
a[i]=s1.charAt(1);
s1=s1.substring(2);
}
中的s1.charAt(1)。
首先你运行时候,text1.getText()为一个长度为0的字符串。
所以当然会越界了。