问答题本程序的功能是用鼠标在画板上绘制矩形。鼠标在窗口中进行拖动时,就可以在窗口中绘制一个空心矩形,如图所示。importjava.awt.*;importjava.awt.event.*;importjava.util.*;classexam_55extendsFrame{exam_55(){super("exam_55");addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente)System.exit(0);}});add(MainCanvas(),BorderLayout.CENTER);setSize(200,200);show();}staticpublicvoidmain(String[]args){newexam_55();}}classMainCanvasextendsCanvas{Vectorrects=newVector();intstartX,startY;RectangleoldRect,newRect;MainCanvas(){addMouseListener(newMouseEventHandler());addMouseMotionListener(newMouseMotionEventHandler());}publicvoidpaint(Graphicsg){update();}publicvoidupdate(Graphicsg){if(oldRect!=null){g.setXORMode(Color.white);g.drawRect(oldRect.x,oldRect.y,oldRect.width,oldRect.height);g.setPaintMode();}for(inti=0;i<rects.size();i++){Rectangler=(Rectangle)rects.elementAt(i);g.drawRect(r.x,r.y,r.width,r.height);}if(newRect!=null){g.setXORMode(Color.white);g.drawRect(newRect.x,newRect.y,newRect.width,newRect.height);g.setPaintMode();}oldRect=newRect;newRect=null;}classMouseEventHandlerextendsMouseAdapter{publicvoidmousePressed(MouseEventevt){intx=evt.getX(),y=evt.getY();startX=x;startY=y;newRect=newRectangle(x,y,1,1);repaint();}publicvoidmouseReleased(MouseEventevt){intx=evt.getX(),y=evt.getY();rects.addElement(newRectangle(startX,startY,x-startX,y-startY));newRect=null;repaint();}}classMouseMotionEventHandlerimplementsMouseMotionAdapter{publicvoidmouseDragged(MouseEventevt){intx=evt.getX(),y=evt.getY();newRect=newRectangle(startX,startY,x-startX,y-startY);repaint();}}}
问答题本程序的目的是在屏幕上显示当前目录下的文件信息。文件信息通过表格JTable的实例显示。请更正题中带下划线的部分,使程序能输出正确的结果。 注意:不改变程序的结构,不得增行或删行。 import java.awt.*; import javax.swing.*; import java.util.Date; import javax.swing.table.*; import java.applet.*; import java.io.*; public class advance extends JApplet, JFrame public void init() FileModel fm=new FileModel(); JTable jt=new JTable(); jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); jt.setColumnSelectionAllowed(true); JScrollPane jsp=new JScrollPane(jt); getContentPane().add(jsp, BorderLayout.CENTER); public static void main(String args[]) advance ft=new advance(); ft.init(); JFrame f=new JFrame(); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.getContentPane().add(ft.getContentPane()); f.setSize(300,400); f.show(); class FileModel extends AbstractTableModel String[] columnName=new String[] "文件名","大小","最后修改时间" ; Object[][] data; public FileModel() this("."); public FileModel(String dir) File file=new File(dir); String files[]=file.list(); data=new Object[files.length] [columnName.length]; for(int i=0; i<files.length; i++) File tmp=new File(files[i]); data[i] [0]=tmp.getName(); data[i] [1]=new Long(tmp.length()); data[i] [2]=new Date(tmp.lastModified()); public int getColumnNumber() return columnName.length; public int getRowCount() return data.length; public String getColumnName(int col) return columnName[col]; public Object getValueAt(int row, int col) return data[row] [col]; public Class getColumnClass(int c) return getValueAt(0,c).getClass();
问答题基本操作题
选择排序的基本思想是从序列中选出最小值,将它放在前面第0位置;然后在剩下的数中选择最小值,将它放在前面第1位置,依此类推。请在程序的每条横线处填写一条语句,使程序的功能完整。
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。
public class SelectSort{
public static void main(String args [ ]){
int i,j;
int a[ ]={30,1,-9,70,25}
int size=a.length;
for(i=0; i++)
for(j=i+1; j++)
if(a[i]>a[j])
{
int temp=a[i];
a[j]=temp;
}
for(i=0;i
问答题本程序的功能是监听对滑动条中滑块的拖动。窗口中有一个文本框和两个滑动条,滑动条一个水平放置一个垂直放置,拖动滑块时,文本框中显示滑块对应的值(水平滑动条值的范围为0~100,垂直滑动条值的范围为0~120),如图所示。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;publicclassexam_44{publicstaticvoidmain(String[]args){SliderFrameframe=newSliderFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();}}classSliderFrameextendsJFrame{publicSliderFrame(){setTitle("exam_44");setSize(WIDTH,HEIGHT);ContainercontentPane=getContentPane();AgeListenermyAgeListener=newAgeListener();agePanel=newJPanel();JSliderageSlider=newJSlider();ageSlider.addChangeListener(myAgeListener);agePanel.add(choiceLabel);agePanel.add(ageSlider);ageSlider=newJSlider(______,0,120,20);ageSlider.addChangeListener(myAgeListener);agePanel.add(ageSlider);JPaneltextPanel=newJPanel();myTextField=newJTextField("",15);textPanel.add(choosedLabel,BorderLayout.NORTH);textPanel.add(myTextField,BorderLayout.CENTER);contentPane.add(agePanel,BorderLayout.NORTH);contentPane.add(textPanel,BorderLayout.CENTER);}privateclassAgeListenerimplementsChangeListener{publicvoidstateChanged(ChangeEventevent){JSlidersourceSlider=(JSlider)event.getSource();myTextField.setText(""+______);}}publicstaticfinalintWIDTH=400;publicstaticfinalintHEIGHT=280;publicstaticfinalJLabelchoosedLabel=newJLabel("结果:");publicstaticfinalJLabelchoiceLabel=newJLabel("请选择:");privateJTextFieldmyTextField;privateJPanelagePanel;}
问答题程序如下:∥Java_2.javapublicclassJava_2{publicstaticvoidmain(String[]args){int[][]aMatrix={(1,1,1,1},{2,2,2,2},{3,3,3,3},{4,4,4,4}};inti=0;∥循环变量intj=0;∥循环变量∥**********Found**********for(i=0;i<{{U}}(3){{/U}};i++){for(j=0;j<aMatrix[i],length;j++){∥**********Found**********System.out.print({{U}}(4){{/U}}+"");{System.out.println();}}}
问答题请完成下列Java程序。程序的执行结果是生成一个具有一个按钮的窗体,并且按钮的标签是“欢迎参加全国计算机等级考试—Java部分!”字样。注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。importjava.awt.*;importjava.awt.event.*;publicclassTestActionEvent{publicstaticvoidmain(Stringargs[]){Framef=newFrame("Test");Buttonb=newButton("欢迎参加Java考试!");TestListenertestmonitor=newTestListener();Monitorbh=newMonitor();b.addActionListener(bh);f.addwindowListener(testmonitor);f.add(b);f.setSize(150,100);f.setVisible(true);}}classMonitor___________ActionListener{publicvoidactionPerformed(ActionEvente){System.out.println("abuttonhasbeenpressed");}}classTestListener__________WindowAdapter{publicvoidwindowClosing(WindowEvente){System.exit(1);}}
问答题本程序的功能是求两个交叉图形的并、减、交以及异或。窗口中有四个单选按钮和一个图形面板,面板中有两个交叉的图形,选中其中一个单选按钮,图形面板中以黑色填充的方式显示运算的结果,如图所示。importjava.awt.*;importjava.awt.event.*;importjava.awt.geom.*;importjava.util.*;importjavax.swing.*;publicclassexam_27{publicstaticvoidmain(String[]args){JFrameframe=newAreaTestFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();}}classAreaTestFrameextendsJFrame{publicAreaTestFrame(){setTitle("exam_27");setSize(WIDTH,HEIGHT);area1=newArea(newEllipse2D.Double(100,100,150,100));area2=newArea(newRectangle2D.Double(150,150,150,100));ContainercontentPane=getContentpane();panel=newJPanel(){publicvoidpaintComponent(Graphicsg){super.paintComponent(g);Graphics2Dg2=(Graphics2D)g;g2.draw(area1);g2.draw(area2);if(area!=null)g2.fill(area);}};contentPane.add(panel,BorderLayout.CENTER);JPanelbuttonPanel=newJPanel();ButtonGroupgroup=newButtonGroup();JRadioButtonaddButton=newJRadioButton("并",false);buttonPanel.add(addButton);group.add(addButton);addButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){area=newArea();area.add(area1);area.add(area2);panel.repaint();}});JRadioButtonsubtractButton=newJRadioButton("减",false);buttonPanel.add(subtractButton);group.add(subtractButton);subtractButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){area=newArea();area.add(area1);area.subTract(area2);panel.repaint();}});JRadioButtonintersectButton=newJRadioButton("交",false);buttonPanel.add(intersectButton);group.add(intersectButton);intersectButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){area=newArea();area.add(area1);area.intersect(area2);panel.repaint();}});JRadioButtonexclusiveOrButton=newJRadioButton("异域",false);buttonPanel.add(exclusiveOrButton);group.add(exclusiveOrButton);exclusiveOrButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){area=newArea();area.add(area1);area.exclusiveor(area2);panel.repaint();}});contentPane.add(buttonPanel,BorderLayout.NORTH);}privateJPanelpanel;privateAreaarea;privateAreaarea1;privateAreaarea2;privatestaticfinalintWIDTH=400;privatestaticfinalintHEIGHT=400;}
问答题本题的功能是展示4种不同的对话框。窗口中有4个按钮:“消息”、“输入”、“确定”和“选择”,单击任意-个按钮。就能弹出,个对应的对话框。其中,消息对话框只有-个提示信息和-个“确定”按钮,输入对话框有-个供输人的文本框及“确定”和“撤销”两个按钮;确定对话框中有-个提示信息和三个按钮“是”、“否”和“撤销”;而选择对话框中有-个提示信息和两个按钮“确定”和“取消”。
问答题本题程序功能是打印1~9的乘法表。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。
public class basic
{
public static void main(String[] args)
{
______;
for(i = i; ______; i++)
{
for(j = i;______; j++)
System.out.print(i + "x" + j + "=" +i *j +"");
System.out.println();
}
}
}
问答题下面是一个Applet程序,其功能是构造n阶魔方阵,魔方阵是这样一个方阵,它的每一行,每一列和对角线之和均相等,例如三阶魔方阵为:816357492要求用Applet实现上述魔方阵,窗口中包括提示栏,提示输入0~15之间的奇数:输入框,输入方阵的阶数:按钮,点击则输出魔方阵;画布用于输出结果。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下: importjava.awt.*;importjava.awt.event.*;importjava.applet.Applet;importjava.lang.Math.*;/*<appletcode="ex19_3.class"width=800height=400></applet>*/publicclassex19_3extendsAppletimplementsActionListenerPanelpane=newPanel();drawWnddw;Label11=newLabel("输入(0~15的奇数):");TextFieldtf1=newTextField(5);Buttonbtn=newButton("OK");int[][]a=newint[16][16];intn=15;publicvoidinit()pane.setLayout(newFlowLayout(FlowLayout.CENTER,25,5));pane.add(11);pane.add(tf1);pane.add(btn);pane.addActionListener(this);add("North",pane);dw=newdrawWnd();add("South",dw);classdrawWndextendsCanvasdrawWnd()setSize(300,300);setBackground(Color.GRAY);publicvoidpaint(Graphicsg)g.setColor(Color.GREEN);for(inti=1;i<=n;i++)for(intj=1;j<=n;j++)g.drawString(Integer.toString(a[i][j]),i*20,j*20);publicvoidactionPerformed(ActionEventae)tryn=Integer.parseInt(tf1.getText());inti=1,j=1;for(i=1;i<=n;i++)for(j=1;j<=n;j++)a[i][j]=0;j=n/2+1;a[i][j]=1;for(intk=1;k<=n*n;k++)i--;j++;if((i<1)j--;elseif(i<1)i=n;if(j>n)j=1;if(a[i][j]==0)a[i][j]=k;elsei=i+2;j--;a[i][j]=k;dw.repaint();catch(NumberFormatExceptionnfe)tf1.setText("error!");ex19_3.html<HTML><HEAD><TITLE>ex19_3</TITLE></HEAD><BODY><appletcode="ex19_3.class"width=800height=400</applet></BODY></HTML>
问答题本题的功能是通过鼠标确定两个点,然后画两点间的直线。窗口中有-个按钮“Drawline”,单击该按钮后,它就处于按下状态,然后用鼠标在窗口中单击-下,在单击的地方就会出现-个坐标圆点,用鼠标在另外-个地方单击-下又会出现另外-个圆点,并且此时在两个坐标圆点间画出-条直线,且“Drawline”处于可用状态,再单击这个按钮就可以画另外-条直线。
问答题本程序中,主窗口有“文件”菜单,“文件”菜单中有“退出”菜单项,该菜单项还有一个快捷键“Ctrl+E”,单击“退出”菜单项或者使用快捷键“Ctrl+E”都可以退出程序,如图所示。importjava.awt.*;importjava.awt.event.*;classHerwindowextendsFrameimplementsActionListener{MenuBarmenubar;Menumenu;MenuItemitem;MenuShortcutshortcut=newMenuShortcut(KeyEvent.VK_E);Herwindow(Strings){super(s);setSize(160,170);setVisible(true);menubar=newMenuBar();menu=newMenu("文件");item=newMenuItem("退出");______;item.addActionListener(this);menu.add(item);menubar.add(menu);menubar.add(menu);______;}publicvoidactionPerformed(ActionEvente){if(e.getSource()==item){System.exit(0);}}}publicclassexam_84{publicstaticvoidmain(Stringargs[]){Herwindowwindow=newHerwindow("exam_84");}}
问答题本题中,主窗口有一个按钮“打开对话框”和一个文本域,单击按钮“打开对话框”后会弹出一个对话框,对话框上有两个按钮“Yes”和“No”,单击对话框上的“Yes”和“No”按钮后返回主窗口,并在右侧文本域中显示刚才所单击的按钮信息。 import java.awt.event.*; import java.awt.*; class MyDialog______implements ActionListener static final int YES=1,NO=0; int message=-1;Button yes,no; MyDialog(Frame f,String s,boolean b) super(f,s,b); yes=new Button("Yes");yes.addActionListener(this); no=new Button("No");no.addActionListener(this); setLayout(new FlowLayout()); add(yes);add(no); setBounds(60,60,100,100); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) message=-1;setVisible(false); ); public void actionPerformed(ActionEvent e) if(e.getSource()==yes) message=YES; setVisible(false); else if(e.getSource()==no) message=NO; setVisible(false); public int getMessage() return message; class Dwindow extends Frame implements ActionListener TextArea text;Button button;MyDialog dialog; Dwindow(String s) super(s); text=new TextArea(5,22);button=new Button("打开对话框"); button.addActionListener(this); setLayout(new FlowLayout()); add(button);add(text); dialog=new MyDialog(this,"Dialog",true); setBounds(60,60,300,300);setVisible(true); validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) (System.exit(0); ); public void actionPerformed(ActionEvent e) if(e.getSource()==button) ______; if(dialog.getMessage()==MyDialog.YES) text.append("n你单击了对话框的yes按钮"); else if(dialog.getMessage()==MyDialog.NO) text.append("/n你单击了对话框的No按钮"); public class java2 public static void main(String args[]) (new Dwindow("java2");
问答题下面程序的功能是从键盘读取一行文本并将该文本存储到文件中。当用户运行该程序时,需要输入一行文本并按下回车键。然后在DOS系统提示符输入type file.txt并按下ENTER键,这时屏幕会显示typefile.txt的内容:通过这个命令可以验证该程序的功能。请在每条横线处填写一条语句,使程序的功能完整。
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。
import java.io.*;
public class DoFile {
public static void main(String args[]) {
byte buffername[]=_________________________[100];
try {
System.out.println("/nEnter a line to be saved to disk:");
int bytesblock=______________
FileOutputStream f=new FileOutputStream ("file. txt"); //在考试时,可在考生目录下创建文件
_________________________
}
catch(Exception e) {
e.printStackTrace ( );
}
}
}
问答题请完成下面的程序:实现一个可以每秒跳动的时钟。运行如下图所示。请填写横线处的内容。注意:请勿改动main主方法和其他已有语句内容,仅在下划线处填入适当的语句。importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.util.*;publicclassExample2_12extendsJFrame(1)implementsRunnableThreadthread1;ColorhandColor;ColornumberColor;JLabeljlabell=newJLabel();publicExample2_12()enableEvents(AWTEvent.WINDOW_EVENT_MASK);trygetContentPane().add(jlabell,BorderLayout.SOUTH);catch(Exceptione)System.out.println(e.getMessage());publicstaticvoidmain(Stringargs[])Example212_clock1=newExample2_12();clock1.init();clock1.start();clock1.setSize(260,230);clock1.setResizable(false);clock1.show();publicvoidinit()intx,y;handColor=Color.blue;numberColor=Color.darkGray;setBackground(Color.white);publicvoidpaint(Graphicsg)intxh,yh,xm,ym,xs,ys,s=0,m=10,h=10,xpoint,ypoint;Stringtoday;Calendarc1=______;s=c1.get(Calendar.SECOND);m=c1.get(Calendar.MINUTE);h=c1.get(Calendar.HOUR);intday,month,year,weekday;day=c1.get(Calendar.DATE);month=c1.get(Calendar.MONTH)+1;year=c1.get(Calendar.YEAR);weekday=c1.get(Calendar.DAY_OF_WEEK);jlabell.setText("Todayis"+year+"/"+month+"/"+day+"/"+"Time:"+h+":"+m+":"+s);xpoint=130;ypoint=100;xs=(int)(Math.cos(s*3.14f/30-3.14f/2)*45+xpoint);ys=(int)(Math.sin(s*3.14f/30-3.14f/2)*45+ypoint);xm=(int)(Math.cos(m*3.14f/30-3.14f/2)*40+xpoint);ym=(int)(Math.sin(m*3.14f/30-3.14f/2)*40+ypoint);xh=(int)(Math.cos((h*30+m/2)*3.14f/180-3.14f/2)*30+xpoint);yh=(int)(Math.sin((h*30+m/2)*3.14f/180-3.14f/2)*30+ypoint);g.setColor(handColor);g.clearRect(0,0,260,200);g.drawOval(xpoint/2+10,ypoint/2-5,110,110);g.setColor(numberColor);g.drawString("9",xpoint-45,ypoint+3);g.drawString("3",xpoint+40,ypoint+3);g.drawString("12",xpoint-5,ypoint-37);g.drawString("6",xpoint-3,ypoint+45);g.setColor(getBackground());g.setColor(numberColor);g.drawString("",5,125);g.drawLine(xpoint,ypoint,xs,ys);g.setColor(handColor);g.drawLine(xpoint,ypoint,xm,ym);g.drawLine(xpoint,ypoint,xh,xh);publicvoidstart()thread1=newThread(this);thread1.______;publicvoidstop()thread1=null;publicvoidupdate(Graphicsg)paint(g);publicvoidrun()Threadme=Thread.currentThread();while(thread1==me)tryThread.currentThread().sleep(100);catch(InterruptedExceptione)e.printStackTrace();repaint();protectedvoidprocessWindowEvent(WindowEvente)super.processWindowEvent(e);if(e.getID()==WindowEvent.WINDOW_CLOSING)System.exit(0);
问答题本程序在窗口上添加菜单项。菜单栏中有“文件”和“编辑”菜单,在“文件”菜单中有“新建”和“关闭”菜单项,并且它们间有一个分隔线,“编辑”菜单中有“复制”菜单项,如图所示。importjavax.swing.*;importjava.awt.event.*;publicclassexam_54extendsJFrame{______;JMenujmenu1=newJMenu("文件");JMenujmenu2=newJMenu("编辑");JMenuItemjmenuitem1=newJMenuItem("新建",0);JMenuItemjmenuitem2=newJMenuItem("关闭",1);JMenuItemjmenuitem3=newJMenuItem("复制",2);publicexam_54(){super("exam_54");setSize(300,100);jmenubar1,add(jmenu1);jmenubar1,add(jmenu2);jmenu1,add(jmenuitem1);jmenu1,addSeparator();jmenu1,add(jmenuitem2);jmenu2,add(jmenuitem3);______;}publicstaticvoidmain(Stringa[]){exam_54tjb=newexam_54();tjb.show();tjb.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});}}
问答题下面是一个Applet程序,其功能是打印一个任意进制的乘法表。要求输入乘法表的进制,点击确定则打印出该乘法表。请改正程序中的错误(有下画线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 import java.awt.*; import java.applet.*; import java.lang.*; public class exl2_3 extends Applet private TextField tf; private Button btn; public void init() tf=new TextField(25); add(tf); btn=new Button("确定"); add(btn); resize(250,200); public void paint(Craphics g) try int n= tf.getText(); int i,j,x=20,y=60; for(i=0;i<n;++) for(j=1;j<=n;j++) g.drawString(Integer.toString(i)+"*" +Integer.toString(j)+"=" +Integer.toString(i*j), i*x,j*y); catch(NuaberFormatEXCeption nfe) g.drawString("error namber!",20,50); public boolean action(Event e,Object o) if(o=="确定") repaint(); return true; else return false; exl2_3.html <HTML> <HEAD> <TITLE>exl2_3</TITLE> </HEAD> <BODY> <applet code="exl2_3.class"width=800 height=400> </applet> </BODY> </HTMI>
问答题请完成下列Java程序:将整型数组中的所有奇数移到所有偶数之前,并打印结果。要求初始化一个大小为10的数组,里面按照数组下标顺序存放0~9,输出交换位置后的数组。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
程序运行结果如下:
9173546280
public class ex20_2 {
private int[] a=new int[10];
public static void main(String[] args)
ex20_2 obj20_2=new ex20_2 );
obj20_2. method ( );
}
public void init () {
for(int i=0;i<a.length;i++) {
a[i] =i;
}
}
public void method() {
int c,i,j;
i=0;
j=a.length-1;
init();
while(i<j){
while((a[i]%2==1)
while((a[j]%2==0)
______________;
a[j]=c;
_______________;
}
}
for(i=0;i<a.length;i++){
System.out.print(Integer.toString(a[i]));
}
}
}
问答题在程序中,随机产生100个学生的成绩,并计算出他们的平均成绩。学生的成绩按照五级打分制,“A”表示4分、“B”表示3分、“C”表示2分、“D”表示1分、“E”表示0分。平均成绩用浮点数表示。请填写横线处的内容。
注意:请勿修改main()主方法和其他已有语句内容,仅在横线处填入适当语句。
import java.math.*;
public class basic
{
public static void main(String[] args)
{
float aver=0;
int a=0, b=0, c=0, d=0, e=0, f=0;
for(______; i < 100; i++)
{
double sd= Math.random()*5+'A';
char score=______;
______(score)
{
case‘A’: aver+=4;a++;break;
case‘B’: aver+=3;b++;break;
case‘C’: aver+=2;c++;break;
case‘D’: aver+=1;d++;break;
case‘E’: aver+=0;e++;break;
default: break;
}
}
aver/=100;
System.out.println("平均分数为"+aver+",学生人数100");
System.out.println("得A的学生有"+a+"人");
System.out.println("得B的学生有"+b+"人");
System.out.println("得C的学生有"+c+"人");
System.out.println("得D的学生有"+d+"人");
System.out.println("得E的学生有"+e+"人");
}
}
问答题本题程序的功能是通过菜单打开一个图像文件。窗臼中有一个菜单“File”,其中包括菜单项“Open”和“Exit”。单击菜单项“Open”可弹出一个打开对话框,选中一个图像文件后单击“打开”按钮返回主窗口,则选中的图像文件显示在窗口中。单击菜单项“Exit”可退出程序。请将下述程序补充完整(注意:不得改动程序的结构,不得增行或删行)。 import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class advance public static void main(String[] args) JFrame frame = new ImageViewerFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show (); class ImageViewerFrame extends JFrame public ImageViewerFrame() setTitle("advance"); setSize(DEFAULT WIDTH,DEFAULT_HEIGHT); label = new JLabel(); Container contentPane = getContentPane(); contentPane.add(label); ______; chooser.setCurrentDireetory(new File(".")); JMenuBar menuBar = new JMenuBar(); ______; JMenu menu = new JMenu("File"); menuBar,add (menu); JMenuItem openItem = new JMenuItem("Open"); menu.add(openItem); openItem.addActionListener(new ActionListener() ______ int r = chooser.showOpenDialog(null); if(r == JFileChooser.APPROVE_OPTION) String name = chooser.getSelectedFile().getPath(); label.setIeon(new ImageIcon(name)); ); JMenuItem exitItem = new JMenuItem("Exit"); menu.add(exitItem); exitItem.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) System.exit(0); ); private JLabel label; private JFileChooser chooser; private static final int DEFAULT_WIDTH=300; private static final int DEFAULT_HEIGHT=400;
