这个是一个比较大小的程序!!但是我不会判断文本框里输入的是否为数字!发凡大家帮忙!
import java.awt.*;
import java.applet.*;
public class daxiao extends Applet{
Label tishi1,tishi2,tishi3,jieguo;
TextField a,b,c;
Button m;
int s1,s2,s3;
public void init()
{
tishi1 = new Label("请输入第一个数字");
a=new TextField(4);
tishi2 = new Label("请输入第二个数字");
b=new TextField(4);
tishi3 = new Label("请输入第三个数字");
c=new TextField(4);
m=new Button("确定");
jieguo=new Label("");
add(tishi1);
add(a);
add(tishi2);
add(b);
add(tishi3);
add(c);
add(m);
add(jieguo);
}
public boolean action(Event e , Object o)
{
if (e.target == m)
{
s1=Integer.parseInt(a.getText());
s2=Integer.parseInt(b.getText());
s3=Integer.parseInt(c.getText());
if(s1==s2&&s1==s3&& s2==s3)
{
jieguo.setText("字符不能全部相等!");
}
else
{
if ( s1 >= s2 && s1 >= s3 )
{
jieguo.setText("最大的数是: "+s1);
}
if ( s2 >= s1 && s2 >= s3 )
{
jieguo.setText("最大的数是: "+s2);
}
else jieguo.setText("最大的数是: "+s3);
}
}
repaint();
return true;
}
}
----------------解决方案--------------------------------------------------------
java是不是也有正则表达式啊 呵呵 不清楚
----------------解决方案--------------------------------------------------------
boolean Digit(){
String s=文本框对象.getText();
char[] ch=s.toCharArray();
for(character c:ch){
if(c.isDigit()){
renturn false;
}
return true;
}
这样判断一下吧
----------------解决方案--------------------------------------------------------
我很笨 判断单个字符是否都在'0''9'之间
----------------解决方案--------------------------------------------------------
学习!
----------------解决方案--------------------------------------------------------
还是不行啊!
----------------解决方案--------------------------------------------------------
正则表达式。。
[CODE]Pattern p=new Pattern.compile("//d*");
Match m=p.matcher(text.getText());
if(m.matches()){
............
}[/CODE]
----------------解决方案--------------------------------------------------------
增加了一些类,现在可以实现只可以输入数字这一个功能了
import java.applet.Applet;
import java.awt.Button;
import java.awt.Event;
import java.awt.Label;
import java.awt.TextField;
import javax.swing.InputVerifier;
import javax.swing.JComponent;
import javax.swing.JTextField;
public class daxiao extends Applet{
Label tishi1,tishi2,tishi3,jieguo;
JTextField a,b,c;
Button m;
int s1,s2,s3;
myVertifier ver;
public void init()
{
tishi1 = new Label("请输入第一个数字");
a=new JTextField(4);
tishi2 = new Label("请输入第二个数字");
b=new JTextField(4);
tishi3 = new Label("请输入第三个数字");
c=new JTextField(4);
m=new Button("确定");
jieguo=new Label("");
ver = new myVertifier();
a.setInputVerifier(ver);
b.setInputVerifier(ver);
c.setInputVerifier(ver);
add(tishi1);
add(a);
add(tishi2);
add(b);
add(tishi3);
add(c);
add(m);
add(jieguo);
}
public boolean action(Event e , Object o)
{
if (e.target == m)
{
s1=Integer.parseInt(a.getText());
s2=Integer.parseInt(b.getText());
s3=Integer.parseInt(c.getText());
if(s1==s2&&s1==s3&& s2==s3)
{
jieguo.setText("字符不能全部相等!");
}
else
{
if ( s1 >= s2 && s1 >= s3 )
{
jieguo.setText("最大的数是: "+s1);
}
if ( s2 >= s1 && s2 >= s3 )
{
jieguo.setText("最大的数是: "+s2);
}
else jieguo.setText("最大的数是: "+s3);
}
}
repaint();
return true;
}
}
class myVertifier extends InputVerifier
{
public myVertifier()
{
}
public boolean verify(JComponent input)
{
JTextField jtf = ((JTextField)input);
String str = jtf.getText();
try{
Integer.parseInt(str); //是否可以轮换,否则就抛出异常
}catch(Exception e)
{
return false;
}
return true;
}
public boolean shouldYieldFocus(JComponent input)
{
return this.verify(input);
}
}
----------------解决方案--------------------------------------------------------
如果不是一个有效的数字,是不可以输入到下一个JTextField的,你看一下吧,如果还有什么,随时发贴吧。。。。
----------------解决方案--------------------------------------------------------
matches(String regex)
告知此字符串是否匹配给定的正则表达式。
参数 regex , 就 是 正则 表达式 的 字符串 , 用 的
时候 注意 的 是 要 有些 符号 要 用 转义 字符 ,不然
识别 不 了
----------------解决方案--------------------------------------------------------