Student 資料物件程式如下 :
import java.io.Serializable;
@SuppressWarnings({ "serial", "rawtypes" })
public class Student implements Serializable {
private String name;
private String id;
private String address;
public Student(String name,String id, String address){
this.name=name;
this.id=id;
this.address=address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String toString(){
return name+","+id+","+address;
}
public boolean equals(Student x){
return name.equals(x.name);
}
public int hashCode(){
return name.hashCode();
}
}
因 Student 資料物件要由 HashSet 集合物件處理, 並且還要儲存到檔案, 所以 Student 資料物件程式必須覆寫 equals() , HashCode 這二個方法, 以及宣告實作 Serializable 介面. 可是以下程式對於相同的 Student 資料物件, 一樣會收集, 請找出此問題 ?
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class CreateMyClass {
@SuppressWarnings({ "unchecked", "rawtypes" })
public static void main(String[] args) {
String [][] myclass = {
{"Tony","123","456"},
{"Rayn","345","890"},
{"apple","001","65455"},
{"apple","001","65455"}
};
Set s = new HashSet();
Student st=null;
for(String[] x : myclass) {
st = new Student(x[0],x[1],x[2]);
s.add(st);
}
Iterator iter = s.iterator ();
while (iter.hasNext ())
System.out.println (iter.next ());
}
}
2013年7月14日 星期日
2013年6月17日 星期一
雙劍1z0-803 基礎試題
請將以下試題依照 變數與資料型態, 運算命令, 流程控制命令, 陣列 及 程式執行參數 範圍來分類, 並撰寫試題程式
試題 1 : My80301.java
試題 3 : My80303.java
試題 5 : My80305.java
試題 7 : My80307.java
試題 9 : My80309.java
試題 10 : My80310.java
試題 14 : My80314.java
試題 16 : My80316.java
試題 23 : My80323.java
試題 24 : My80324.java
試題 27 : My80327.java
試題 32 : My80332.java
試題 33 : My80333.java
試題 35 : My80335.java
試題 38 : My80338.java
試題 40 : My80340.java
試題 44 : My80344.java
試題 49 : My80349.java
試題 52 : My80352.java
試題 53 : My80353.java
試題 59 : My80359.java
試題 61 : My80361.java
試題 70 : My80370.java
試題 71 : My80371.java
試題 79 : My80379.java
試題 80 : My80380.java
試題 81 : My80381.java
試題 84 : My80384.java
試題 89 : My80389.java
試題 91 : My80391.java
試題 94 : My80394.java
試題 104 : My803104.java
試題 106 : My803106.java
試題 109 : My803109.java
試題 111 : My803111.java
試題 112 : My803112.java
試題 115 : My803115.java
試題 120 : My803120.java
試題 122 : My803122.java
試題 1 : My80301.java
試題 3 : My80303.java
試題 5 : My80305.java
試題 7 : My80307.java
試題 9 : My80309.java
試題 10 : My80310.java
試題 14 : My80314.java
試題 16 : My80316.java
試題 23 : My80323.java
試題 24 : My80324.java
試題 27 : My80327.java
試題 32 : My80332.java
試題 33 : My80333.java
試題 35 : My80335.java
試題 38 : My80338.java
試題 40 : My80340.java
試題 44 : My80344.java
試題 49 : My80349.java
試題 52 : My80352.java
試題 53 : My80353.java
試題 59 : My80359.java
試題 61 : My80361.java
試題 70 : My80370.java
試題 71 : My80371.java
試題 79 : My80379.java
試題 80 : My80380.java
試題 81 : My80381.java
試題 84 : My80384.java
試題 89 : My80389.java
試題 91 : My80391.java
試題 94 : My80394.java
試題 104 : My803104.java
試題 106 : My803106.java
試題 109 : My803109.java
試題 111 : My803111.java
試題 112 : My803112.java
試題 115 : My803115.java
試題 120 : My803120.java
試題 122 : My803122.java
2012年4月4日 星期三
練習題 2_6:計算薪水
計算員工薪水,底薪 : 25000,100000 以上 獎金 5%,300000 以上 獎金 7%,500000 以上 獎金 10%。
執行結果,如下。
程式碼,如下。
import java.util.Scanner;
public class EX2_6 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("\n請輸入業績 》》》》》 ");
double accomplishment = stdIn.nextDouble();
double salary = 25000;
double prize = 0;
if (accomplishment >= 100000 && accomplishment < 300000) {
prize = accomplishment * 0.05;
} else if (accomplishment >= 300000 && accomplishment < 500000) {
prize = accomplishment * 0.07;
} else if (accomplishment >= 500000) {
prize = accomplishment * 0.1;
}
System.out.println("本月薪資 : " + (salary + prize) + "(底薪:" + salary
+ " 獎金:" + prize + ")");
}
}
執行結果,如下。
程式碼,如下。
import java.util.Scanner;
public class EX2_6 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("\n請輸入業績 》》》》》 ");
double accomplishment = stdIn.nextDouble();
double salary = 25000;
double prize = 0;
if (accomplishment >= 100000 && accomplishment < 300000) {
prize = accomplishment * 0.05;
} else if (accomplishment >= 300000 && accomplishment < 500000) {
prize = accomplishment * 0.07;
} else if (accomplishment >= 500000) {
prize = accomplishment * 0.1;
}
System.out.println("本月薪資 : " + (salary + prize) + "(底薪:" + salary
+ " 獎金:" + prize + ")");
}
}
練習題 2_5:月份英翻中
執行結果,如下。
程式碼,如下。
import java.util.Scanner;
public class EX2_5 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print(" 請輸入月份 》》》》》 ");
String month = stdIn.next();
String outStr = "輸入錯誤。";
if ("1".equals(month)) {
outStr = "Januery";
} else if ("2".equals(month)) {
outStr = "February";
} else if ("3".equals(month)) {
outStr = "March";
} else if ("4".equals(month)) {
outStr = "April";
} else if ("5".equals(month)) {
outStr = "May";
} else if ("6".equals(month)) {
outStr = "June";
} else if ("7".equals(month)) {
outStr = "July";
} else if ("8".equals(month)) {
outStr = "August";
} else if ("9".equals(month)) {
outStr = "Stptember";
} else if ("10".equals(month)) {
outStr = "October";
} else if ("11".equals(month)) {
outStr = "November";
} else if ("12".equals(month)) {
outStr = "December";
}
System.out.println(" 英文 》》》》》 " + outStr);
}
}
程式碼,如下。
import java.util.Scanner;
public class EX2_5 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print(" 請輸入月份 》》》》》 ");
String month = stdIn.next();
String outStr = "輸入錯誤。";
if ("1".equals(month)) {
outStr = "Januery";
} else if ("2".equals(month)) {
outStr = "February";
} else if ("3".equals(month)) {
outStr = "March";
} else if ("4".equals(month)) {
outStr = "April";
} else if ("5".equals(month)) {
outStr = "May";
} else if ("6".equals(month)) {
outStr = "June";
} else if ("7".equals(month)) {
outStr = "July";
} else if ("8".equals(month)) {
outStr = "August";
} else if ("9".equals(month)) {
outStr = "Stptember";
} else if ("10".equals(month)) {
outStr = "October";
} else if ("11".equals(month)) {
outStr = "November";
} else if ("12".equals(month)) {
outStr = "December";
}
System.out.println(" 英文 》》》》》 " + outStr);
}
}
練習題 2_4:比較兩數大小
執行結果,如下。
程式碼,如下。
import java.util.Scanner;
public class EX2_4 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("請輸入正整數 A 》》》》》 ");
int a = stdIn.nextInt();
System.out.print("請輸入正整數 B 》》》》》 ");
int b = stdIn.nextInt();
String resultStr = "";
if (a < 0 || b < 0) {
resultStr = "數字不可以為負數。";
} else {
if (a > b) {
resultStr = "A > B";
} else if (a < b) {
resultStr = "A < B";
} else {
resultStr = "A = B";
}
}
System.out.println("\n" + resultStr);
}
}
程式碼,如下。
import java.util.Scanner;
public class EX2_4 {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("請輸入正整數 A 》》》》》 ");
int a = stdIn.nextInt();
System.out.print("請輸入正整數 B 》》》》》 ");
int b = stdIn.nextInt();
String resultStr = "";
if (a < 0 || b < 0) {
resultStr = "數字不可以為負數。";
} else {
if (a > b) {
resultStr = "A > B";
} else if (a < b) {
resultStr = "A < B";
} else {
resultStr = "A = B";
}
}
System.out.println("\n" + resultStr);
}
}
學習範例 2_7:判斷成績(2)
成績 100~90: A, 80~89:B, 70~79:C, 60~69:D, 60以下,不及格。
程式碼,如下。
import java.util.Scanner;
class P2_7{
public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);
System.out.print("請輸入成績 : ");
int studentGrade = stdIn.nextInt();
if(studentGrade > 100 || studentGrade < 0){
System.out.println("輸入錯誤");
}else if(studentGrade >= 90 && studentGrade <= 100){
System.out.println("A");
}else if(studentGrade >= 80 && studentGrade <= 89){
System.out.println("B");
}else if(studentGrade >= 70 && studentGrade <= 79){
System.out.println("C");
}else if(studentGrade >= 60 && studentGrade <= 69){
System.out.println("D");
}else {
System.out.println("不及格。");
}
}
}
執行結果,如下。
程式碼,如下。
import java.util.Scanner;
class P2_7{
public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);
System.out.print("請輸入成績 : ");
int studentGrade = stdIn.nextInt();
if(studentGrade > 100 || studentGrade < 0){
System.out.println("輸入錯誤");
}else if(studentGrade >= 90 && studentGrade <= 100){
System.out.println("A");
}else if(studentGrade >= 80 && studentGrade <= 89){
System.out.println("B");
}else if(studentGrade >= 70 && studentGrade <= 79){
System.out.println("C");
}else if(studentGrade >= 60 && studentGrade <= 69){
System.out.println("D");
}else {
System.out.println("不及格。");
}
}
}
執行結果,如下。
2012年3月31日 星期六
練習題 2_3 : 判斷是否能整除
由鍵盤輸入 A、B兩數,判斷 A 是否能被B整除。
執行結果,如下。
程式碼,如下。
import java.util.Scanner;
public class EX2_3 {
public static void main(String[] args) {
Scanner std = new Scanner(System.in);
System.out.println("請輸入任意兩個數字");
System.out.print("數字 A 》》》》》 ");
double x = std.nextDouble();
System.out.print("數字 B 》》》》》 ");
double y = std.nextDouble();
if(x%y == 0){
double times = x/y;
System.out.println("A是B的" + times + " 倍。" );
}else{
System.out.println("A不可以被B整除。");
}
}
}
執行結果,如下。
程式碼,如下。
import java.util.Scanner;
public class EX2_3 {
public static void main(String[] args) {
Scanner std = new Scanner(System.in);
System.out.println("請輸入任意兩個數字");
System.out.print("數字 A 》》》》》 ");
double x = std.nextDouble();
System.out.print("數字 B 》》》》》 ");
double y = std.nextDouble();
if(x%y == 0){
double times = x/y;
System.out.println("A是B的" + times + " 倍。" );
}else{
System.out.println("A不可以被B整除。");
}
}
}
訂閱:
文章 (Atom)