问答题如下程序在编译时出错,请改正程序中的错误,使之顺利通过编译和运行。
注意:不改动程序结构,不得增行或删行。
class SubClass extends BaseClass
{
}
class BaseClass
{
String str;
public BaseClass()
{
SyStem.out.println("good");
}
public BasecClass(String s)
{
str=s;
}
}
public class ConstructTest1
{
public static void main(String args[])
{
{{U}}SubClass s=new SubClass("hi");{{/U}}
BaseClass b=new BaseClass("Java");
}
}
问答题分析两个字符串,分别输出每个字符串的单词并统计出单词个数。阅读程序,填写空行。 注意:不改动程序结构,不得增行或删行。 import java.util.*; public class ex2 public static void main(String args[]) String s1="I am Chinese,she is my girlfriend"; String s2="Oh,really,fine"; StringTokenizer fenxi_1=new StringTokenizer(s1,","); StringTokenizer fenxi_2=new StringTokenizer(s2,","); int n1=fenxi_1.countTokens(); int n2=fenxi_2.countTokens(); while(fenxi_1.hasMoreTokens()) String s=fenxi_1.nextToken(); System.out.println(s); System.out.println("s1单词:"+n1+"个"); while(fenxi_1.hasMoreTokens()) String s=______; System.out.println(s); System.out.println("s2单词:"+n2+"个");
问答题请在每条横线处填写一个语句,使程序的功能完整,且输出结果为91 1。 注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 源程序文件代码清单如下: public class Outer public static void main (String args[] Outer i = new Outer(); i,taskInner(); public class Inner private int size; public void doSomething(int size) _____________//访问局部变量 this. size++; //访问内部类的成员变量 _____________//访问外部类的成员变量 System.out.println(size+" "+this.size+" "+Outer.this.size); public void taskInner() ___________ k.doSomething(8); private static int size;
问答题下面是一个Applet程序,其功能是进行整数加法运算,要求有3个文本区域,2个作为输入,一个作为输出,并且有异常处理来判断输入的数字是否符为整型,如果是则进行运算,否则抛出异常并显示于第3个文本区域中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.awt.event.*;importjava.applet.Applet;/*<appletcode="ex17_3.class"width=800height=400></applet>*/publicclassex17_3extendsAppletimplementsActionListener{TextFieldtf1=newTextField(5);TextFieldtf2=newTextField(5);TextFieldtf3=newTextField(5);Label11=newLabel("+");Label12=newLabel("=");Buttonbtn=newButton("相加");publicvoidinit(){{{U}}add(11);{{/U}}{{U}}add(tf1);{{/U}}add(tf2);add(12);add(tf3);add(btn);btn.addActionListener(this);}publicvoidactionPerformed(ActionEventae){try{inta=Integer.parseInt(tf1.getText());intb=Integer.parseInt(tf2.getText());intx=a+b;{{U}}tf2.setText(Integer.toString(x));{{/U}}}catch(NumberFormatExceptionnfe){tf3.setText("error!");}}}{{B}}ex17_3.html{{/B}}<HTML><HEAD><TITLE>ex17_3</TITLE></HEAD><BODY><appletcode="ex17_3.class.width=800height=400></applet></BODY></HTML>
问答题注意:下面出现的“考生文件夹”均为%USER%。在考生文件夹中存有文件名为Java_3.java的文件,该程序是不完整的,请在注释行“//**********Found**********”下一行语句的下画线地方填入正确内容,然后删除下面线,请勿删除注释行或改动其他已有语句内容。存盘时文件必须存放在考生文件夹下,不得改变原有文件的文件名。本题的要求是:下面是整数除法计算的程序,要求在出现异常时,能抛出异常信息。考虑两种异常:(1)输入非数字除数。(2)输入除法分母为零。该程序运行的三种结果状态如下:(1)输入两个合法整数:(2)输入非数字除数:(3)输入除数为零:给定源程序:importjava.text.DecimalFormat;importjavax.swing.*;importjava.awt.*;importJava.awt.event.*;//*********Found********publicclassJava_3extends______implementsActionListenerprivateJTextFieldinput1,input2,output;privateintnumber1.number2;privatedoubleresult;//初始化publicJava_3()//*********Found********______("示范异常");Containerc=getContentPane();c.setLayout(newGridLayout(3,2));c.add(newJLabel("输入分子",SwingConstants.RIGHT));input1=newJTextField(10);c.add(input1);c.add(newJLabel("输入分母和回车",SwingConstants.RIGHT));input2=newJTextField(10);c.add(input2);input2.addActionListener(this);c.add(newJLahel("计算结果",SwingConstantsRIGHT));output=newJTextField();c.add(output);setSize(425,100);show();//处理GUI事件publicvoidactionPerformed(ActionEvente)DecimalFormatprecision3=newDecimalFormat("0.000");output.setText("");//空的JTextField输出//*********Found********______number1=Integer.parseInt(input1.getText());number2=Integer.parseInt(input2.getText());result=quotient(number1,number2);//*********Found********output.setText(______);catch(NumberFormatExceptionnfe)JOptionPaneshowMessageDialog(this,"你必须输入两个整数","非法数字格式",JOptionPane.ERROR_MESSAGE);catch(Exceptiondbze)//*********Found********______(this,"除法异常","除数为零",JOptionPane.ERRORMESSAGE);//定义求商的方法,如遇除数为零时,能抛出异常publicdoublequotient(intnumerator,intdenominator)throwsExceptionif(denominator==0)thrownewException();return(double)numerator/denominator;publicstaticvoidmain(Stringargs[])Java_3app=newJava_3();app.addWindowListener(newwindowAdapter()publicvoidwindowClosing(WindowEvente)e.getWindow().dispose();ystemexit(0););/*JOptionPane类的常用静态方法如下:showInputDialog()showConfirmDialog()showMessageDialog()showoptionDialog()*/
问答题下面是一个Apple(程序,其功能是播放动画。要求根据给出的3幅图片设计1个动画。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.applet.*;importjava.awt.image.*;/*<appletcode="ex24_3.class"width=800height=400></applet>*/publicclassex24_3extendsAppletimplementsRunnable{Image[]images=newImage[4];Imageimage;intIMGonClick=over(this)title=放大Number=3;intcurrentImage=0;ThreadthisThread;publicvoidinit(){for(intx=0;x<IMGonClick=over(this)title=放大Number;x++){images[x]=getImage(getCodeBase(),"IMGonClick=over(this)title=放大"+x+".gif");}image=images[0];}publicvoidpaint(Graphicsg){{{U}}g.drawImage(image[0],0,0,null);{{/U}}}publicvoidupdate(Graphicsg){paint(g);}publicvoidstart(){thisThread=newThread(this);thisThread.start();}publicvoidstop(){thisThread.stop();thisThread=null;}publicvoidrun(){while(true){currentImage++;{{U}}currentImage=IMGonClick=over(this)title=放大Number;{{/U}}{{U}}image=images[IMGonClick=over(this)title=放大Number];{{/U}}repaint();try{thisThread.sleep(100);}catch(Exceptione){}}}}{{B}}ex24_3.html{{/B}}<HTML><HEAD><TITLE>ex24_3</TITLE></HEAD><BODY><appletcode="ex24_3.class"width=800height=400></applet></BODY></HTML>
问答题在程序中,使用适当的布局管理器,在Frame框的North位置添加一句提示信息,在South位置添加一个单行文本框,在这个文本框中输入的内容将会显示在Center位置。运行结果如下图所示。注意:请勿修改main()主方法和其他已有语句内容,仅在横线处填入适当语句。importjava.awt.*;importjava.awt.event.*;publicclasssimpleextendsFrame{publicstaticvoidmain(String[]args){simpleframe=newsimple("simple");frame.init();frame.setSize(300,300);frame.show();}publicsimple(Stringname){super(name);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){______;}});}publicvoidinit(){setLayout(new______);LabellabelTitle=newLabel("在本文框中输入字符串,可以早Frame中间显示");LabelshowTextLabel=newLabel();TextFieldtextField=newTextField("请在这里输入字符串");textField.addActionListener(newAddStringListener(showTextLabel,textField));add("North",labelTitle);add("Center",showTextLabel);add("South",textField);}}classAddStringListenerimplementsActionListener{Labellabel;TextFieldtextField;publicAddStringListener(Labellabel,TextFieldtextField){this.label=label;this.textField=textField;}publicvoidactionperformed(ActionEvente){label.setText(textField.getText());}}
问答题下面是一个Applet程序,其功能是输入2个字符串,比较两者的长度。要求,窗口中有2个输入区,用于输入字符串,一个按钮点击实现比较,比较结果用绘图方式显示出来。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.applet.*;/*<appletcode="ex25_3.class"width=800height=400></applet>*/publicclassex25_3extendsApplet{privateTextFieldtf1;privateTextFieldtf2;privateButtonbtn;privateStringstrOut;publicvoidinit(){Label1=newLabel("串1:");add(1);tf1=newTextField(20);add(tf1);l=newLabel("串2:");add(1);tf2=newTextField(20);add(tf2);btn=newButton("比较");add(btn);strOut="";resize(250,200);}publicvoidpaint(Graphicsg){g.drawString(strOut,30,150);}publicbooleanaction(Evente,Objecto){{{U}}if(o=="btn"){{{/U}}Stringstr1=tf1.getText();Stringstr2=tf2.getText();intresult;{{U}}result=str1.compare(str2);{{/U}}{{U}}if(result>0){{/U}}strOut="串1种字符数少于串2";elseif(result==0)strOut="串1和串2长度一样";elsestrOut="串1字符数多于串2";repaint();//该方法主要用于applet的重新显示,它调用Update()方法实现对于Applet的更新。returntrue;}elsereturnfalse;}}{{B}}ex25_3.htm1{{/B}}<HTML><HEAD><TITLE>ex25_3</TITLE></HEAD><BODY><appletcode="ex25_3.class"width=800height=400></applet></BODY></HTML>
问答题请完成以下程序,首先由一个类Example2_3实现Serializable接口,并有三个成员变量,分别为int型、double型和String型,可以用toString的方法显示这三个成员变量。在main方法中创建这个Example2_3的持久对象,根据用户在命令行输入的三个参数来设定其中成员变量的值。然后,将这个对象写入名为TheSerial.data的文件,并显示成员变量。最后从文件TheSerial.data中读出三个成员变量并显示出来。
注意:请勿改动main()主方法和其他已有语句内容,仅在横线处填入适当语句。
import java.io.*;
class TheSerial implements Serializable
{
private int intValue;
private double doubleValue;
private String string;
TheSerial()
{
intValue = 123;
doubleValue = 12.34;
string = "Serialize Test";
}
public void setDouble(double d)
{
doubleValue = d;
}
public void setInt(int i)
{
intValue = i;
}
public void setString(String s)
{
string = s;
}
public String toString()
{
return("int="+intValue+"double="+doubleValue+" string="+string);
}
}
public class Example2_3
{
public static void main(String argv[])
{
TheSerial e1 = new TheSerial();
TheSerial e2;
try
{
e1.setInt(Integer.parseInt(argv[0]));
e1.setDouble(Double.parseDouble(argv[1]));
e1.setString[argv[2]);
}
catch(Exception e)
{
e1.setString(e.getMessage{));
}
System.out.println(e1);
try
{
FileOutputStream oS = new FileOutputStream("TheSerial.data");
ObjectOutputStream oIS = new ObjectOutputStream(oS);
______;
}
catch(IOException ioException)
{
System.out.println(ioException.getMessage());
}
try
{
FileInputStream iS = new FileInputStream("TheSerial. data");
ObjectInputStream oIS = new ObjectInputStream(iS);
______
System.out.println(e2);
}
catch(IOException ioException)
{
System.out.println(ioException.getMessage());
}
catch(ClassNotFoundException cnfException)
{
System.out.println(cnfException.getMessage());
}
}
}
问答题bAlive = false;
问答题改正下画线处程序代码,使程序可正确执行。
public class OperatorsAndExpressions{
void shortCircuit2(int val){
if((val!=0)
else System.out.println("val的倒数为无穷大");
}
public static void main(String args[]){
OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions();
//短路逻辑表达式的应用
{{U}}OperAndExp.Circuit2(0);{{/U}}
}
}
问答题下面Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器继续工作。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;/*<appletcode="ex7_3.class"width=800height=400></applet>*/publicclassex7_3extendsJAppletprivateJTextFieldjtf=newJTextField(15);privateJButtonHold=newJButton("Hold"),resume=newJButton("Resume");privateex7_3thobj7_3th=newex7_3th();classex7_3thextendsThreadprivateintcnt=0;privatebooleanbIsHold=false;publicex7_3th()start();publicvoidhold()bIsHold=true;publicsynchronizedvoidfauxResume()bIsHold=false;wait();publicvoidrun()while(true)trysleep(150);synchronized(this)while(bIsHold)notify();catch(InterruptedExceptionie)System.err.println("Interrupted");jtf.setText(cnt);publicvoidinit()Containercp=getContentPane();cp.setLayout(newFlowLayout());cp.add(jtf);Hold.addActionListener(newActionListener()publicvoidactionPerformed(ActionEventae)obj7_3th.hold(););cp.add(Hold);resume.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)obj7_3th.fauxResume(););cp.add(resume);publicstaticvoidmain(String[]args)ex7_3obj7_3=newex7_3();Stringstr=obi7_3.getClass().toString();if(str.indexOf("class")!=-1)str=str.substring(6);JFramefrm=newJFrame(str);frm.addWindowListener(newWindowAdapter()publicvoidwindowClosing(WindowEventwe)System.exit(O););frm.getContentPane().add(obj7_3);frm.setSize(300,200);obj7_3.init();obi7_3.start();frm.setVisible(true);ex7_3.html<HTML><HEAD><TITLE>ex7_3</TITLE></HEAD><BODY><appletcode="ex7_3.class"width=800height=400></applet></BODY></HTML>
问答题基本操作题
下列程序中,分别计算1,2,3,…,10的阶乘,并输出计算结果,请将程序补充完整。
程序运行结果如下:
1!=1
2!=2
3!=6
4!=24
5!=120
6!=720
7!=5040
8!=40320
9!=362880
10!=3628800
public class ex10_1 {
public static void main(String[] args) {
long lFactorial;
for(int i=1;i<=10;i++){
;
for(int j=2; ;j++)
;
System.out.println(i+"!="+lFactorial);
}
}
}
问答题本程序监听鼠标用窗口的进出和点击情况,并将这些信息打印出来。当输入移进窗口后台就打印出“Entered”,当鼠标移出窗口,后台就打印出“Exited”,当鼠标按下时,后台就打印出“Pressed”,当鼠标松开时,后台就打印出“Released”和“Clicked”。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class exam_26 extends Frame ______{
public static void main (String args[]){
exam_26 f=new exam_26("exam_26");
Panel pan=new Panel();
f.init();
}
public exam_26(String str){
super(str);
}
public void init(){
addWindowListener (new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
setSize(200,200);
setLayout (new FlowLayout());
______;
setVisible(true);
}
public void mouseClicked(MouseEvent e){
System.out.println("Clicked");
}
public void mousePressed(MouseEvent e){
System.out.println("Pressed");
}
public void mouseReleased(MouseEvent e){
System.out.println("Released");
}
public void mouseEntered(MouseEvent e){
System.out.println("Entered");
}
public void mouseExited(MouseEvent e){
System.out.println("Exited");
}
}
问答题本程序的功能是使用快捷键控制组件可用或不可用。窗口中有一个文本域和一个文本框,选中其中一个组件,使用快捷键“Ctrl+T”使得选中的组件不可用,使用快捷键“Ctrl+E”可使选中的组件变为可用,如图所示。importjava.awt.*;importjava.awt.event.*;classexam_81extendsFrame{TextFieldtf=newTextField();TextAreata=newTextArea();Labelstatus=newLabel("CtrI+T:使组件不可用Ctrl+E:使组件可用");exam_81(){super("exam_81");addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});add(status,BorderLayout.NORTH);add(ta,BorderLayout.CENTER);add(tf,BorderLayout.SOUTH);listener=newKeyEventHandler();ta.addKeyListener(listener);tf.addKeyListener(listener);pack();show();}classKeyEventHandlerextendskeyAdapter{publicvoidkeyPressed(keyEventevt){if(evt.isControlDown()tc.setEditable(!tc.isEditable());if(tc.isEditable()){tc.setText("Editable");}else{tc.setText("NotEditable");}}if(evt.isControlDown()tc.setEditable(!tc.isEditable());if(tc.isEditable()){tc.setText("Editable");}else{tc.setText("NotEditable");}}}}staticpublicvoidmain(String[]args){newexam_81();}}
问答题本程序是一个Applet,在页面上有三个文本框,在第一个文本框中输入一个整数后回车,则在第二个文本框中显示该整数的平方,在第三个文本框中显示该整数的立方,如图所示。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassexam_68extendsAppletimplementsActionListener{TextFieldtext1,text2,text3;Labellab1;PoliceManpolice;publicvoidinit(){text1=newTextField(10);text2=newTextField(10);text3=newTextField(10);police=newPoliceMan(this);lab1=newLabel("请输入一个整数:");add(lab1);add(text1);add(text2);add(text3);text1.addActionListener(______);}publicvoidactionPerformed(ActionEvente){Stringnumber=e.getActionCommand();intn=Integer.parseInt(number);intm=n*n;text2,setText(n+"的平方是:"+m);}}classPoliceManimplementsActionListener{exam_68a=null;PoliceMan(exam_68a){this.a=a;}publicvoidactionPerformed(ActionEvente){Stringnumber=e.getActionCommand();intn=Integer.parseInt(number);intm=n*n*n;______(n+"的立方是:"+m);}}exam_68.html:<html><head><title>exam_68</title></head><body><appletcode="exam_68.class"width="250"height="500"></applet></body></html>
问答题本程序的功能是用文本框来设定表盘中指针的位置。窗口中有一个画板和两个文本框,画板中绘制了一个表盘和时针、分针,通过文本框分别设定时和分,表盘中的时、分指针就会指到对应的位置上,如图所示。importjava.awt.*;importjava.awt.event.*;importjava.awt.geom.*;importjavax.swing.*;importjavax.swing.event.*;publicclassexam_61{publicstaticvoidmain(String[]args){TextTestFrameframe=newTextTestFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();}}classTextTestFrameextendsJFrame{publicTextTestFrame(){setTitle("exam_61");setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);ContainercontentPane=getContentPane();DocumentListenerlistener=newDocumentListener();JPanelpanel=newJPanel();hourField=newJTextField("12",3);panel.add(hourField);hourField.getDocument().addDocumentListener(this);minuteField=newJTextField("00",3);panel.add(minuteField);minuteField.getDocument().addDocumentListener(listener);contentPane.add(panel,BorderLayout.SOUTH);clock=newClockPanel();contentPane.add(clock,BorderLayout.CENTER);}publicvoidsetClock(){try{inthours=Integer.parseInt(hourField.getText().trim());intminutes=Integer.parseInt(minuteField.getText().trim());clock.setTime(hours,minutes);}catch(NumberFormatExceptione){}}publicstaticfinalintDEFAULT_WIDTH=300;publicstaticfinalintDEFAULT_HEIGHT=300;privateJTextFieldhourField;privateJTextFieldminuteField;privateClockPanelclock;privateclassClockFieldListenerextendsDocumentListener{publicvoidinsertUpdate(DocumentEvente){setClock();}publicvoidremoveUpdate(DocumentEvente){setClock();}publicvoidchangedUpdate(DocumentEvente){}}}classClockPanelextendsJPanel{publicvoidpaintComponent(Graphicsg){super.paintComponent(g);Graphics2Dg2=(Graphics2D)g;Ellipse2Dcircle=newEllipse2D.Double(0,0,2*RADIUS,2*RADIUS);g2.draw(circle);doublehourAngle=Math.toRadians(90-360*minutes/(12*60));drawHand(g2,hourAngle,HOUR_HAND_LENGTH);doubleminuteAngle=Math.toRadians(90-360*minutes/60);drawHand(g2,minuteAngle,MINUTE_HAND_LENGTH);}publicvoiddrawHand(Graphics2Dg2,doubleangle,doublehandLength){Point2Dend=newPoint2D.Double(RADIUS+handLength*Math.cos(angle),RADIUS-handLength*Math.sin(angle));Point2Dcenter=newPoint2D.Double(RADIUS,RADIUS);g2.draw(newLine2D.Double(center,end));}publicvoidsetTime(inth,intm){minutes=h*60+m;repaint();}privatedoubleminutes=0;privatedoubleRADIUS=100;privatedoubleMINUTE_HAND_LENGTH=0.8*RADIUS;privatedoubleHOUR_HAND_LENGTH=0.6*RADIUS;}
问答题本程序是一个Applet,功能是计算小于某数的所有素数。页面中有一个文本框、一文本域和一个“确定”按钮,在文本框中任意输入一个整数,单击“确定”按钮后,文域中将输出小于该数的所有素数,如果输入的不是整数,单击“确定”按钮后文本域中显示提示信息,如图所示。importjava.awt.*;importjava.awt.event.*;importjava.applet.*;classMyLabelextendsLabelimplementsActionListenerStringlab;TextFieldinputNumber;TextAreashowResult;Buttonbutton;MyLabel(Strings,Containercon){super(s);lab=s;inputNumber=newTextField(10);showResult=newTextArea(10,10);button=newButton("确定");button.addListener(this);con.add(this);con.add(inputNumber);con.add(showResult);con.add(button);}publicvoidactionPerformed(ActionEvente){longn=0;showResult,setText(null);try{n=Long,valueOf(inputNumber.Text()).longValue();this.setText(lab);}catch(NumberFormatExceptione1){showResult,setText("请输入整数");return;}if(e.getObjact()==button){sushu(n);}}publicvoidsushu(longn){showResult,append("小于"+n+"的素数有:");for(inti=1;i<=n;i++){intj=0;for(j=2;j<i;j++){if(i%j==0)break;}if(j>=i){showResult,append("/n"+i);}}}}publicclassexam_2extendsApplet{MyLabellab;publicvoidinit(){lab=newMyLabel("单击"确定"按钮计算素数",this);}}exam_2.html:<html><head><title>exam_2</title></head><body><appletcode="exam_2.class"width=400height=200></applet></body></html>
问答题程序如下:∥Java_3.htmlimportjava.awt.*;import.java.awt.event.*;∥**********Found**********publicclassJava_3(5)AetionListenerpublicstaticvoidmain(Stringargs[])Java_3tb=newJava_3();Framef=newFrame("ButtonTest");f.setSize(200,100);f.setLayout(newFlowLayout(FlowLayout.CENTER));Buttonb=newButton("PresstheButton!");∥**********Found**********b.(6)(tb);f.add(b);f.setVisible(true);publicvoidactionPerformed(ActionEvente)Framefr=newFrame("AnOther");fr.setBackground(Color.green);fr.add(newLabel("Thisframeshowswhen"+"ressingthebuttoninButtonTest"));fr.pack();fr.setVisible(true);
问答题请完成下列Java程序:实现换算GPA,对于学生学习的每一门课程,都输入两个数据:考试成绩和学分,考试成绩按如下公式换算:90~100:575~89:460~74:340~59:240以下:1GPA等于换算后每门课的成绩的学分加权平均值(∑(成绩×学分)/∑学分)。要求用图形用户界面实现上述功能,用户窗口包括2个文本区域,一个输入成绩,一个输入学分,一个文本面板用作输出GPA的换算结果,一个按钮,点击实现换算。注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下:importjava.awt.*;importjava.awt.Event.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjavax.swing.*;publicclassexll_2extendsJFrame{privateJTextFieldjtf1=newJTextField();privateJTextFieldjtf2=newJTextField();privateJTextPanejtp=newJTextPane();privateJButtonjb=newJButton("增加");privateJLabeljll=newJLabel("课程数:");privateJLabelj12=newJLabe1("学分数:");doubledTol=0;intnTolN=0,nCount=0;publicstaticvoidmain(String[]args){exll_2frm=newexll_2();frm.setTitle("GPA");frm.pack();frm.setVisible(true);frm.addWindowListener(newWindowAdapter()publicvoidwindowClosing(WindowEventwe){System.exit(0);}});}publicexll_2()Containercp=getContentPane();cp.setLayout(newGridLayout(4,2));cp.add(newJLabel("成绩"));cp.add(jtf1);cp.add(newJLabel("学分"));cp.add(jtf2);jb.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae)intn1,n2,nt;n1=Integer.parseInt(jtf1.getText());n2=Integer.parseInt(jtf2.getText());if(n1<=100elseif(n1>=75)nt=4;elseif(n1>=60)nt=3;elseif(n1>=40)nt=2;elsent=1;___________________;____________________;nTolN+=n2;if(nCount>0){jll.setText("课程数:"+nCount);j12.setText("学分数:"+nTolN);jtp-setText(String.valueOf(dTol/nTolN));}}jtf1.setText("");jtf2.setText("");}});cp.add(j11);cp.add(j12);cp.add(jb);cp.add(jtp);}}
