零基礎學Java語言(第二週程式設計題)
1時間換算(5分)
題目內容:
UTC是世界協調時,BJT是北京時間,UTC時間相當於BJT減去8。現在,你的程式要讀入一個整數,表示BJT的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分;如果小時是0,則沒有百位部分;如果分小於10分,需要保留十位上的0。如1124表示11點24分,而905表示9點5分,36表示0點36分,7表示0點7分。
有效的輸入範圍是0到2359,即你的程式不可能從測試伺服器讀到0到2359以外的輸入資料。
你的程式要輸出這個時間對應的UTC時間,輸出的格式和輸入的相同,即輸出一個整數,表示UTC的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分;如果小時是0,則沒有百位部分;如果分小於10分,需要保留十位上的0。
提醒:要小心跨日的換算。
輸入格式:
一個整數,表示BJT的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分;如果小時是0,則沒有百位部分;如果小時不是0而且分小於10分,需要保留十位上的0。
輸出格式:
一個整數,表示UTC的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分;如果小時是0,則沒有百位部分;如果小時不是0而且分小於10分,需要保留十位上的0。
輸入樣例:
933
輸出樣例:
133
思路:單是為了解這道題的話,與時分無關,所以我忽略了時分了。如果要取時分的值,用/,%來實現就好了
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int bjt = in.nextInt(); int utc; if(bjt >= 800)utc = bjt -800; else utc = (bjt - 800) + 2400; System.out.println(utc); } }
2訊號報告(5分)
題目內容:
無線電臺的RS制訊號報告是由三兩個部分組成的:
R(Readability) 訊號可辨度即清晰度.
S(Strength) 訊號強度即大小.
其中R位於報告第一位,共分5級,用1—5數字表示.
1---Unreadable
2---Barely readable, occasional words distinguishable
3---Readable with considerable difficulty
4---Readable with practically no difficulty
5---Perfectly readable
報告第二位是S,共分九個級別,用1—9中的一位數字表示
1---Faint signals, barely perceptible
2---Very weak signals
3---Weak signals
4---Fair signals
5---Fairly good signals
6---Good signals
7---Moderately strong signals
8---Strong signals
9---Extremely strong signals
現在,你的程式要讀入一個訊號報告的數字,然後輸出對應的含義。如讀到59,則輸出:
Extremely strong signals, perfectly readable.
輸入格式:
一個整數,訊號報告。整數的十位部分表示可辨度,個位部分表示強度。輸入的整數範圍是[11,59]內有效的數字,這個範圍外的數字不可能出現在測試資料中。
輸出格式:
一句話,表示這個訊號報告的意義。按照題目中的文字,先輸出表示強度的文字,跟上逗號和空格,然後是表示可辨度的文字,跟上句號。注意可辨度的句子的第一個字母是小寫的。注意這裡的標點符號都是英文的。
輸入樣例:
33
輸出樣例:
Weak signals, readable with considerable difficulty.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int num1 = num%10;
int num2 = num/10;
switch(num1) {
case 1:
System.out.print("Faint signals, barely perceptible");
break;
case 2:
System.out.print("Very weak signals");
break;
case 3:
System.out.print("Weak signals");
break;
case 4:
System.out.print("Fair signals");
break;
case 5:
System.out.print("Fairly good signals");
break;
case 6:
System.out.print("Good signals");
break;
case 7:
System.out.print("Moderately strong signals");
break;
case 8:
System.out.print("Strong signals");
break;
case 9:
System.out.print("Extremely strong signals");
}
switch(num2) {
case 1:
System.out.print(","+" "+"unreadable.");
break;
case 2:
System.out.print(","+" "+"barely readable, occasional words distinguishable.");
break;
case 3:
System.out.print(","+" "+"readable with considerable difficulty.");
break;
case 4:
System.out.print(","+" "+"readable with practically no difficulty.");
break;
case 5:
System.out.print(","+" "+"perfectly readable.");
}
}
}
btw上面那種方法好像是被eclipse嫌棄了,說是這方法已經過時了。所以打算用陣列再做一次,但我還沒學到,所以佔一個坑吧,這兩天填