1、 分數
題目內容:
我們在題目說明中給出了一部分代碼,你需要在這部分代碼的基礎上,按照題目說明編寫代碼,然后將兩部分代碼一起提交。
設計一個表示分數的類Fraction。這個類用兩個int類型的變量分別表示分子和分母。
這個類的構造函數是:
Fraction(int a, int b)
構造一個a/b的分數。
這個類要提供以下的功能:
double toDouble();
將分數轉換為double
Fraction plus(Fraction r);
將自己的分數和r的分數相加,產生一個新的Fraction的對象。注意小學四年級學過兩個分數如何相加的哈。
Fraction multiply(Fraction r);
將自己的分數和r的分數相乘,產生一個新的Fraction的對象。
void print();
將自己以“分子/分母”的形式輸出到標準輸出,并帶有回車換行。如果分數是1/1,應該輸出1。當分子大于分母時,不需要提出整數部分,即31/30是一個正確的輸出。
注意,在創建和做完運算后應該化簡分數為最簡形式。如2/4應該被化簡為1/2。
你寫的類要和以下的代碼放在一起,并請勿修改這個代碼:
import java.util.Scanner;
public class Main {
??????? public static void main(String[] args) {
??????????????? Scanner in = new Scanner(System.in);
??????????????? Fraction a = new Fraction(in.nextInt(), in.nextInt());
??????????????? Fraction b = new Fraction(in.nextInt(),in.nextInt());
??????????????? a.print();
??????????????? b.print();
??????????????? a.plus(b).print();
??????????????? a.multiply(b).plus(new Fraction(5,6)).print();
????????????????a.print();
??????????????? b.print();
? ????????????? in.close();
??????? }
}
注意,你的類的定義應該這樣開始:
class Fraction {
也就是說,在你的類的class前面不要有public。
輸入格式:
程序運行時會得到四個數字,分別構成兩個分數,依次是分子和分母。
輸出格式:
輸出一些算式。這些輸入和輸出都是由Main類的代碼完成的,你的代碼不要做輸入和輸出。
輸入樣例:
2 4 1 3
輸出樣例:
1/2
1/3
5/6
1
1/2
1/3
時間限制:500ms內存限制:32000kb
Solution:
2、 時鐘
題目內容:
在課程所給的時鐘程序的基礎上修改。
這一周的編程題是需要你在課程所給的時鐘程序的基礎上修改而成。但是我們并不直接給你時鐘程序的代碼,請根據視頻自己輸入時鐘程序的Display和Clock類的代碼,然后來做這個題目。
我們需要給時鐘程序加上一個表示秒的Display,然后為Clock增加以下public的成員函數:
public Clock(int hour, int minute, int second);
用hour, minute和second初始化時間。
public void tick();
“嘀嗒”一下,時間走1秒。
public String toString();
返回一個String的值,以“hh:mm:ss“的形式表示當前時間。這里每個數值都占據兩位,不足兩位時補0。如“00:01:22"。注意其中的冒號是西文的,不是中文的。
提示:String.format()可以用和printf一樣的方式來格式化一個字符串。
另外寫一個Main類,它的main函數為下面的樣子,注意,必須原封不動地作為Main的main函數:
public static void main(String[] args) {
java.util.Scanner in = new java.util.Scanner(System.in);
Clock clock = new Clock(in.nextInt(), in.nextInt(), in.nextInt());
clock.tick();
System.out.println(clock);
in.close();
}
注意!在提交的時候,把Main、Clock和Display三個類的代碼合并在一起,其中Main類是public的,而Clock和Display類是沒有修飾符的。另外,千萬注意第一行不能有package語句。
輸入格式:
采用給定的main函數無需考慮輸入輸出。
輸出格式:
采用給定的main函數無需考慮輸入輸出。
輸入樣例:
采用給定的main函數無需考慮輸入輸出。
輸出樣例:
采用給定的main函數無需考慮輸入輸出。
時間限制:500ms內存限制:32000kb
Solution: