问答题

下面的程序是求9999以内的“完全数”。所谓完全数是指这样的自然数:它的各个约数(不包括该数自身)之和等于该数自身。如28=1+2+4+7+14就是一个完全数。请在程序的每条横线处填写一个语句,使程序的功能完整。 注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 public class QuanShu{ public static void main(String args[]){ for(int n=l;n<9999;n++) if(______________)System.out.println(n); } public static iht divsum(int n){//该方法功能是求一个数的所有约数 int s=0; for(int i=l;i<n;i++) if(_________________) __________________ return s; } }

【参考答案】

n==divsum(n) n%i==0 s+=i;[解析] 本题考查for循环语句、求余运算符(%)和Java语言的方法......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题
下面是一个Applet程序,实现实心或者空心矩形的绘制。要求鼠标在Applet窗口中拖动实现矩形的绘制,可以选择填充或者空心,有按钮用来清空窗口中的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:import java.awt.*;import java.applet.*; *<applet code= ex13_3.class width=800 height=400 >< applet>* public class ex13_3 extends Applet{private Button btnClear;private CheckboxGroup cbg;private Checkbox chk1, chk2;private int upX, upY;private int downX, downY;private boolean bDraw, bClear, bStyle;public void init(){bDraw = false;bClear = false;bStyle = false;setLayout(null);cbg = new CheckboxGroup();chk1 = new Checkbox( Hollow , cbg, true);chk2 = new Checkbox( Filled , cbg, false);chk1.reshape(80,getSize().height-80,80,25);chk2.reshape(160,getSize().height-80,80,25);add(chk1);add(chk2);btnClear = new Button( clear );btnClear.reshape(240,getSize().height-80,80,25);add(btnClear);}public void paint(Graphics g){if(bDraw){if(upX > downX && upY > downY){if (bStyle)g. fillRect (downX, downY, upX - downX, upY - downY);elseg.drawRect(downX, downY, upX - downX, upY - downY);}else if(upX > downX && upY < downY){if(bStyle)g.fillRect(downX, upY, upX - downX, downy - upY);elseg.drawRect(downX, upY, upX - downX, downy - upY);}else if(upX < downX && upY > downY){if(bStyle)g.fillRect(upX, downY, downX - upX, upY - downY);elseg.drawRect(upX, downY, downX - upX, upY - downY);}else if(upX < downX && upY < downY){if(bStyle)g.fillRect(upX, upY, downX - upX, downy - upY);elseg.drawRect(upX, upY, downX - upX, downy - upY);}bDraw = false;}if(bClear)(g.clearRect(0,0, getSize().height, getSize().width);bClear = false;}}public void update(Graphics g){paint(g);}public boolean mouseUp(Event e, int x, int y){upX = x;upY = y;bDraw = true;repaint();return true;}public boolean mouseDown(Event e, int x, int y){downX = x;downY = y;return true;}public boolean action(Event e, Object o){if(e.target == btnClear)(bClear = true;repaint();}if(chkl.getState() == true){bStyle = true;}if(chk2.getState() == true){bStyle = false;}return true;}}ex13_3.html<HTML><HEAD><TITLE>ex13_3< TITLE>< HEAD><BODY><applet code= ex13_3.class width=800 height=400 >< applet>< BODY>< HTML>
问答题
请完成下列Java程序:用swing实现一个简单的学生成绩管理器,显示出学生的姓名,java成绩,c++成绩和这两门课的平均成绩,学生一共有4个人(Mike,Jack等)。要求可以修改学生的姓名和成绩,并且能够直接计算出平均成绩,如改变 Mike的java成绩后,在平均成绩栏会自动更新为新的平均成绩。注意:请勿改动main()主方法和其他已有语句内容,仅在—下划线处填入适当的语句。程序运行结果如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.table.TableModel;public class ex13_2 extends JFrame{private JTable it;private String[][] strData;public static void main(String[] args){ex13_2 objl3_2=new ex13_2();obj13_2.pack();obj13_2.setVisible(true);}public ex13_2(){String[] columnNames={ name , java , c++ , average };strData=new String[] [] {{ Mike , 70.0 , 80.0 , 75.0 },{ Jack , 70.0 , 100.0 , 85.0 },{ David , 75.0 , 95.0 , 85.0 },{ Tom , 60.0 , 80.0 , 70.0 }};jt=new JTable(strData,columnNames);jt.setPreferredScrollableViewportSize(new Dimension 400,200));JScrollPane tp=new JScrollPane(jt);setTitle( exl3_2 );Container cp=getContentPane();cp.add(tp,BorderLayout.CENTER);addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent we) {System.exit(0);}});jt.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);TableModel tm=jt.getModel();tm.addTableModelListener(new TableModelListener(){public void tableChanged(TableModelEvent tme){int nRow=tme.getFirstRow();float fNum;float fSum=0;for(int i=1;i<=2;i++){fNum=Float.parseFloat(________________);fSum+=fNum;}float fAverage=fSum 2;______________________;}});}}