註冊
登錄
論壇
搜索
幫助
導航
私人消息 (0)
公共消息 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
種子論壇 | 高雄市資訊培育協會學員討論區
»
結訓課程 (青少年程式設計班)
»
App開發我最棒_六1000_2020
» [進階練習] 給想要練習的人的題目(學生成績計算)
返回列表
發帖
發短消息
加為好友
周政輝
當前離線
UID
67742
帖子
692
精華
2
積分
20
閱讀權限
100
在線時間
171 小時
註冊時間
2016-6-18
最後登錄
2024-4-13
版主
1
#
跳轉到
»
正序看帖
打印
字體大小:
t
T
周政輝
發表於 2016-12-3 13:18
|
只看該作者
[進階練習] 給想要練習的人的題目(學生成績計算)
這是這禮拜最後有留下來的人給他們的作業練習,沒有來的同學如果想要練習也可以練習
但是練習的時候請先搞懂以下的內容(可以去google搜尋一下以下內容)
1.搞懂泛型
2.研究 ArrayList
3.類別的欄位一律private 建構子負責做初始化 其餘取得成績 或是取得姓名一律寫成函數 如: GetScore() GetName() ... 等等
===============================================
作業如下:
使用者自訂一個類別Student 裡面的欄位有 姓名,學號,國文,英文,數學,總分 以及平均 這幾個欄位
並透過建構元 將以上的這些內容進行初始化
並自訂函數取得 姓名 學號 以及各科成績...等資訊 採用這樣的命名方式 :
例如取得學生姓名 : GetName()
而在主程式當中則讓使用者自行輸入學生的資料 以及各科成績 (這裡讓使用者可以自行輸入三名學生的資料以及各科成績及平均)
最後輸入以及輸出的結果為如下
=======以下為程式碼的部分=======================
Student 類別內的程式碼
package tw.kuas.mis;
public class Student {
//建構學生的資料以及成績欄位
private String Name;
private int Number;
private int Chi;
private int Eng;
private int Math;
private int total;
private int Avg;
//建構元 (用來初始化學生的基本資料)
public Student(String Name, int Number,int Chi,int Eng,int Math)
{
this.Name = Name;
this.Number = Number;
this.Chi = Chi;
this.Eng = Eng;
this.Math = Math;
}
//取得學生名稱以及學號
public String GetNameandNumber()
{
String data = Name+String.valueOf(Number);
return data;
}
//取得各科成績-英文
public int GetEng()
{
return Eng;
}
//取得各科成績-國文
public int GetMath()
{
return Math;
}
//取得各科成績-數學
public int GetChi()
{
return Chi;
}
//計算總分
public int GetTotal()
{
return Math+Chi+Eng;
}
//計算平均
public float GetAvg()
{
return (Math+Chi+Eng)/3;
}
}
複製代碼
主程式Main中的程式碼
package tw.kuas.mis;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
//建立一個ArrayList的泛型(Student)讓ArrayList裡面可以存放學生的成績資料
ArrayList<Student> list = new ArrayList();
//利用Scanner 使用者輸入 學生的成績以及基本資料
Scanner scanner = new Scanner(System.in);
//利用for迴圈 輸入三個學生的資料以及成績
for(int i=0;i<3;i++)
{
System.out.printf("請依序輸入 學生%d 的姓名、學號、國文、數學、以及英文\r\n",i+1);
String Name = scanner.next();
int Number = scanner.nextInt();
int Chi = scanner.nextInt();
int Math = scanner.nextInt();
int Eng = scanner.nextInt();
//建構Student類別 初始化使用者輸入的資料
Student student = new Student(Name,Number,Chi,Eng,Math);
//將使用者輸入的資料,存放至ArrayList的物件容器當中
list.add(student);
}
//輸出結果
for(int i=0;i<list.size();i++)
{
System.out.print("該學生的姓名與座號:");
System.out.println(list.get(i).GetNameandNumber());
System.out.println("國文成績為:");
System.out.println(list.get(i).GetChi());
System.out.println("英文成績為:");
System.out.println(list.get(i).GetEng());
System.out.println("數學成績為:");
System.out.println(list.get(i).GetMath());
System.out.println("總分為:");
System.out.println(list.get(i).GetTotal());
System.out.println("平均為:");
System.out.println(list.get(i).GetAvg());
System.out.println("--------End---------");
}
}
}
複製代碼
以上大概就是進階的物件導向的程式練習
如果有不懂的可以再問我
附件:
您需要
登錄
才可以下載或查看附件。沒有帳號?
註冊
收藏
分享
發短消息
加為好友
蔡季樺
當前離線
UID
67682
帖子
302
精華
0
積分
0
閱讀權限
10
在線時間
79 小時
註冊時間
2015-7-2
最後登錄
2024-7-9
新手上路
3
#
蔡季樺
發表於 2016-12-12 17:27
|
只看該作者
package site.istak.org.tw;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayList <Student> list = new ArrayList();
Scanner scanner = new Scanner(System.in);
for(int i=0;i<3;i++)
{
System.out.printf("請依序輸入 學生%d 的姓名、學號、國文、數學、以及英文:\r\n",i+1);
String name = scanner.next();
int num = scanner.nextInt();
int c = scanner.nextInt();
int m = scanner.nextInt();
int e = scanner.nextInt();
Student student = new Student(name,num,c,e,m);
list.add(student);
}
for(int i=0;i<list.size();i++)
{
System.out.print("該學生的姓名:");
System.out.println(list.get(i).getname());
System.out.print("該學生的座號:");
System.out.println(list.get(i).getnum());
System.out.println("國語成績:");
System.out.println(list.get(i).getc());
System.out.println("英文成績:");
System.out.println(list.get(i).gete());
System.out.println("數學成績:");
System.out.println(list.get(i).getm());
System.out.println("總分:");
System.out.println(list.get(i).gettotal());
System.out.println("平均:");
System.out.println(list.get(i).getavg());
}
}
}
複製代碼
package site.istak.org.tw;
public class Student {
private String name;
private int num;
private int c;
private int m;
private int e;
public Student(String name,int num,int c,int m,int e)
{
this.name = name;
this.num = num;
this.c = c;
this.m = m;
this.e = e;
}
public String getname()
{
return name;
}public int getnum()
{
return num;
}public int getc()
{
return c;
}public int getm()
{
return m;
}public int gete()
{
return e;
}public int gettotal()
{
return c+m+e;
}public float getavg()
{
return (c+m+e)/3;
}
}
複製代碼
TOP
發短消息
加為好友
蔡庭豪
當前離線
UID
67705
帖子
279
精華
0
積分
0
閱讀權限
10
在線時間
64 小時
註冊時間
2015-9-5
最後登錄
2021-4-17
新手上路
2
#
蔡庭豪
發表於 2016-12-9 23:49
|
只看該作者
package site.istak.org.tw;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
ArrayList pi = new ArrayList();
String Name = scanner.next();
System.out.println(pi.add(Name));
}
}
複製代碼
package site.istak.org.tw;
public class Students {
private String Name;
private int mat;
private int eng;
private int chi;
private int avg;
/***********************/
public Students(String Name,int mat,int eng,int chi,int avg){
this.Name=Name;
this.mat=mat;
this.eng=eng;
this.chi=chi;
this.avg=avg;
}
/****************/
public String Getname(String Name){
return Name;
}
public int Getgrapeenglish(int eng){
return eng;
}
public int Getgrapemath(int mat){
return mat;
}
public int Getgrapechinese(int chi){
return chi;
}
public int Getavg(int eng,int chi,int mat){
avg=(eng+mat+chi)/3;
return avg;
}
}
複製代碼
TOP
返回列表
谷哥人營隊
113Scratch夏令營
113年APCS冬令營
113年Scratch冬令營
113年Python證照特訓營(一)
113年谷哥人程式體驗營
113年國三專班
Python研習營(113_114)
113年Python證照特訓營(二)
113年程式夏令營(一)(二)
113年APCS夏令營(一)(二)
Python研習營
113年Python研習冬令營
112年國三專班
112APCS夏令營(一)(二)
112App快速開發夏令營
C語言 / C++ (特別輔導)
C++證照
C#
家教特輔
C語言特輔/證照(家教)
C++證照
C#
HTML5+CSS+JavaScript+PHP+MySQL
Java 家教 (王捷恩)
113新版塊名稱
快樂學 Scratch
Python 家教 (王捷恩 康恒睿)
Python 特別輔導 (家教)
快樂 C++ (家教)
我愛 Java (家教)
程式解題我最行 (家教)
程式常態班
C++ 新生挑戰區
考照心得分享
快樂 C++11307週五19:00
快樂C++11309週六13:30-15:30
快樂 C++11303 (週六15:40-17:40) 3F
程式解題我最行 (週六15:30-17:30) 3F
快樂 C++ (週六13:30-15:30) 3F
快樂 C++ (週六19:00-21:00) 3F
程式解題我最行 (週六10:00-12:00) 3F
快樂學 Scratch
程式解題我最行(週五19:00-21:00)
快樂 C++ (週六13:30-15:30) 3F
程式解題我最行(週三19:15-21:15)
快樂 C++11207週六10
快樂 C++11208週六19:00
程式解題我最行 (週五19:00-21:00) 3F
快樂 C++ (週六15:30-17:30) 3F
程式解題我最行 (週六19:00-21:00) 3F
程式解題我最行 (週四19:10-21:10)
產投職訓
結訓課程 (產投職訓)
Php & MySQL old
Illustrator old
Dreamweaver old
Android手機程式開發班
PHP & MySQL電子商務互動式網站實作班 (102下)
PHP & MySQL (102上)
PHP & MySQL電子商務互動式網站實作班
Photoshop數位影像設計初階
Flash創意廣告動畫初階
行銷短片視訊剪輯
數位商業攝影實務班
PHP & MySQL電子商務系統開發實務初階班
電子商務系統開發實務中階班
Server基礎架設&動態網頁設計初階班
Java視窗應用程式設計與遊戲開發班
Illustrator時尚插畫創作設計初階班
102上Php & MySQL 初階班
電子商務互動式網站實作中階
Dreamweaver多媒體網頁設計
Android手機程式開發班(2012年10月)
PHP & MySQL (2012年10月)
創意塗鴉
yahoo橫幅
google橫幅
市民學苑
第二屆樂活部落格
第一屆電腦設備簡易維護和故障排除班
專案訓練
電子商務創業班
TQC PHP認證
投資理財班
領隊導遊班
電腦基礎及網路應用身心障礙專班
應用軟體網頁化開發
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]