import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
class NumberException extends Exception
{
NumberException(String s)
{
super(s);
}}
public class abc extends Applet implements TextListener
{
static int n1=0,n2=0;
TextArea text;
Label label1,label2,label3;
TextField text1,text2,text3;
public void init()
{
text=new TextArea("",10,10);
label1=new Label("及格人数:");
text1=new TextField(10);
label2=new Label("不及格人数:");
text2=new TextField(10);
label3=new Label("平均分数:");
text3=new TextField(10);
add(text);add(label1);add(text1);
add(label2);add(text2);add(label3);add(text3);
text.addTextListener(this);
}
public void textValueChanged(TextEvent e)
{ try
{
if (e.getSource()==text)
{
text1.setText(String.valueOf(n1));
text2.setText(String.valueOf(n2));
text3.setText(String.valueOf(method()));
}
}
catch(NumberException ee)
{String answerStr=ee.getMessage();
label1.setText(answerStr);
}
catch(NumberFormatException eee)
{String answerStr=eee.getMessage();
label1.setText(answerStr);
}
}
public double method() throws NumberException
{
double f;double sum=0;
String s=text.getText();
StringTokenizer fenxi=new StringTokenizer(s,",'\n'");
int n=fenxi.countTokens();
double a[]=new double[n];
for (int i=0;i<n ;i++ )
{
String t=fenxi.nextToken();
a[i]=Double.valueOf(t).doubleValue();
if(a[i]<0||a[i]>100)
{
NumberException ee=new NumberException("输入的数字应该在0~100之间");
throw ee;
}
if (a[i]>=0 && a[i]<60)
{
n1++;
} sum+=a[i];
} n2=n-n1;
f=sum/n;
return f;
}}运行时候要是输入不满足条件的数字时候,结果不对啊。请帮忙!
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
class NumberException extends Exception
{
NumberException(String s)
{
super(s);
}}
public class abc extends Applet implements TextListener
{
static int n1=0,n2=0;
TextArea text;
Label label1,label2,label3;
TextField text1,text2,text3;
public void init()
{
text=new TextArea("",10,10);
label1=new Label("及格人数:");
text1=new TextField(10);
label2=new Label("不及格人数:");
text2=new TextField(10);
label3=new Label("平均分数:");
text3=new TextField(10);
add(text);add(label1);add(text1);
add(label2);add(text2);add(label3);add(text3);
text.addTextListener(this);
}
public void textValueChanged(TextEvent e)
{ try
{
if (e.getSource()==text)
{
text1.setText(String.valueOf(n1));
text2.setText(String.valueOf(n2));
text3.setText(String.valueOf(method()));
}
}
catch(NumberException ee)
{String answerStr=ee.getMessage();
label1.setText(answerStr);
}
catch(NumberFormatException eee)
{String answerStr=eee.getMessage();
label1.setText(answerStr);
}
}
public double method() throws NumberException
{
double f;double sum=0;
String s=text.getText();
StringTokenizer fenxi=new StringTokenizer(s,",'\n'");
int n=fenxi.countTokens();
double a[]=new double[n];
for (int i=0;i<n ;i++ )
{
String t=fenxi.nextToken();
a[i]=Double.valueOf(t).doubleValue();
if(a[i]<0||a[i]>100)
{
NumberException ee=new NumberException("输入的数字应该在0~100之间");
throw ee;
}
if (a[i]>=0 && a[i]<60)
{
n1++;
} sum+=a[i];
} n2=n-n1;
f=sum/n;
return f;
}}运行时候要是输入不满足条件的数字时候,结果不对啊。请帮忙!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货