會寫程式的貓
2009年5月25日
網路程式設計 2009/05/26 作業
User:
MY BLOG
Class:
Java
,
Java - 網路程式設計 作業
/* 設計一可計算成績的試算表(類似excel), 可算10個人學號為1000到1010, 初始分數請用亂數產生10組平時,期中,期末成績 然後計算平均成績(平均=平時*0.4+期中* 0.3+期末*0.3) 後輸出,輸出格式(TextField)如上: (之後若使用者在TextField中修改分數時平均成績會自動計算更新 (使用TextListener) */ import java.awt.*; import java.awt.event.*; public class JavaSheet implements TextListener{ Frame frm = new Frame("JavaSheet"); TextField[][] tf = new TextField[11][5]; Panel[] p = new Panel[12]; Panel allp = new Panel(new GridLayout(11,1,5,5)); //Label lab = new Label("特獎號碼"); public JavaSheet(){ p[0] = new Panel(new GridLayout(1,6,5,5)); p[0].add(new Label("學號")); p[0].add(new Label("期中")); p[0].add(new Label("期末")); p[0].add(new Label("平時")); p[0].add(new Label("平均")); for(int x = 0 ; x < tf.length ; x++){//第一次取 p[x+1] = new Panel(new GridLayout(1,6,5,5)); allp.add(p[x]); for( int y = 0 ; y < tf[x].length ; y++ ){ if( y == 0 ){ tf[x][y] = new TextField(); tf[x][y].setText(Integer.toString(1000 + x + 1)); }else{ tf[x][y] = new TextField(); if(y != 4){ tf[x][y].setText(Double.toString(Math.random()*100)); tf[x][y].addTextListener(this); } } p[x+1].add(tf[x][y]); } } sum();//計算 frm.add(allp); frm.setSize(400,300); frm.setVisible(true); } private void sum(){//計算 int sum = 0; for(int x = 0 ; x < tf.length ; x++){ sum = 0; for(int y = 1 ; y < tf[x].length-1 ; y++){ switch(y){ case 1: sum += Double.parseDouble(tf[x][y].getText())*0.3; break; case 2: sum += Double.parseDouble(tf[x][y].getText())*0.3; break; case 3: sum += Double.parseDouble(tf[x][y].getText())*0.4; break; } } tf[x][4].setText(Double.toString(sum)); } } public void textValueChanged(TextEvent e){ sum();//重新計算 } public static void main(String[] args){ new JavaSheet(); } }
沒有留言:
張貼留言
較新的文章
較舊的文章
首頁
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言