文本中的时间-Java
我编写了一个代码,将键入的时间(数字)格式化为文本。但问题是,例如10:30,文本应该是“halb elf uhr”,而不是“halb zehn uhr”(语言是德语)。因此,我认为案件必须增加,但我如何才能做到这一点。 我用case+1试过了,但没用 代码如下:文本中的时间-Java,java,time,Java,Time,我编写了一个代码,将键入的时间(数字)格式化为文本。但问题是,例如10:30,文本应该是“halb elf uhr”,而不是“halb zehn uhr”(语言是德语)。因此,我认为案件必须增加,但我如何才能做到这一点。 我用case+1试过了,但没用 代码如下: public class TimeAsText { public static void main(String[] args) { System.out.println("Type Hour: ");
public class TimeAsText {
public static void main(String[] args) {
System.out.println("Type Hour: ");
int hours = In.readInt();
System.out.println("Type minutes: ");
int minutes = In.readInt();;
if(hours <1 || hours >12) {
System.out.println("*****");
System.exit(0);
}else if (minutes <0 || minutes >59) {
System.out.println("****");
System.exit(0);
}else {
String hourNames = null;
switch(hours) {
case 1: hourNames = "ein";break;
case 2: hourNames = "zwei";break;
case 3: hourNames = "drei";break;
case 4: hourNames = "vier";break;
case 5: hourNames = "fuenf";break;
case 6: hourNames = "sechs";break;
case 7: hourNames = "sieben";break;
case 8: hourNames = "acht";break;
case 9: hourNames = "neun";break;
case 10: hourNames = "zehn";break;
case 11: hourNames = "elf";break;
case 12: hourNames = "zwoelf";break;
default: System.out.println("Type valid hour");
}
String minuteNames = null;
switch(minutes) {
case 0: minuteNames = "punkt";break;
case 1: minuteNames = "eines";break;
case 2: minuteNames = "zwei";break;
case 3: minuteNames = "drei";break;
case 4: minuteNames = "vier";break;
case 5: minuteNames = "fuenf";break;
case 6: minuteNames = "sechs";break;
case 7: minuteNames = "sieben";break;
case 8: minuteNames = "acht";break;
case 9: minuteNames = "neun";break;
case 10: minuteNames = "zehn";break;
case 11: minuteNames = "elf";break;
case 12: minuteNames = "zwoelf";break;
case 13: minuteNames = "dreizehn";break;
case 14: minuteNames = "vierzehn";break;
case 15: minuteNames = "viertel nach";break;
case 16: minuteNames = "sechzehn";break;
case 17: minuteNames = "siebzehn";break;
case 18: minuteNames = "achtzeh";break;
case 19: minuteNames = "neunzehn";break;
case 20: minuteNames = "zwanzig";break;
case 21: minuteNames = "einundzwanzig";break;
case 22: minuteNames = "zweiundzwanzig";break;
case 23: minuteNames = "dreiundzwanzig";break;
case 24: minuteNames = "vierundzwanzig";break;
case 25: minuteNames = "fuenfundzwanzig";break;
case 26: minuteNames = "sechsundzwanzig";break;
case 27: minuteNames = "siebenundzwanzig";break;
case 28: minuteNames = "achtundzwanzig";break;
case 29: minuteNames = "neunundzwanzig";break;
case 30: minuteNames = "halb";break;
case 31: minuteNames = "einunddreißig";break;
case 32: minuteNames = "zweiunddreißig";break;
case 33: minuteNames = "dreiunddreißig";break;
case 34: minuteNames = "vierunddreißig";break;
case 35: minuteNames = "fuenfunddreißig";break;
case 36: minuteNames = "sechsunddreißig";break;
case 37: minuteNames = "siebenunddreißig";break;
case 38: minuteNames = "achtunddreißig";break;
case 39: minuteNames = "neununddreißig";break;
case 40: minuteNames = "vierzig";break;
case 41: minuteNames = "einundvierzig";break;
case 42: minuteNames = "zweiundvierzig";break;
case 43: minuteNames = "dreiundvierzig";break;
case 44: minuteNames = "vierundvierzig";break;
case 45: minuteNames = "dreiviertel";break;
case 46: minuteNames = "sechsudvierzig";break;
case 47: minuteNames = "siebenundvierzig";break;
case 48: minuteNames = "achtundvierzig";break;
case 49: minuteNames = "neunundvierzig";break;
case 50: minuteNames = "fuenfzig";break;
case 51: minuteNames = "einundfuenfzig";break;
case 52: minuteNames = "zwweiundfuenfzig";break;
case 53: minuteNames = "dreiundfuenfzig";break;
case 54: minuteNames = "vierundfuenfzig";break;
case 55: minuteNames = "fuenfundfuenfzig";break;
case 56: minuteNames = "sechsundfuenfzig";break;
case 57: minuteNames = "siebenundfuenfzig";break;
case 58: minuteNames = "achttundfuenfzig";break;
case 59: minuteNames = "neunundfuenfzig";break;
default: minuteNames = "Type valid nummer";break;
}
if(minutes == 0) {
System.out.println(minuteNames + " " + hourNames + " uhr");
}else if(minutes == 15) {
System.out.println(minuteNames + " " + hourNames + " uhr");
}else if(minutes == 30) {
System.out.println(minuteNames + " " + hourNames + " uhr");
}else if (minutes == 45) {
System.out.println(minuteNames + " " + hourNames + " uhr");
}else {
System.out.println(hourNames + " uhr " + minuteNames);
}
}
}
}
公共类TimeAsText{
公共静态void main(字符串[]args){
System.out.println(“输入小时:”);
整小时=In.readInt();
System.out.println(“键入分钟:”);
int分钟=In.readInt();;
若有(12小时){
System.out.println(“*******”);
系统出口(0);
}若否(第59分钟){
System.out.println(“****”);
系统出口(0);
}否则{
字符串hourNames=null;
开关(小时){
案例1:hourNames=“ein”中断;
案例2:hourNames=“zwei”中断;
案例3:hourNames=“drei”中断;
案例4:hourNames=“vier”中断;
案例5:hourNames=“fuenf”中断;
案例6:hourNames=“sechs”中断;
案例7:hourNames=“sieben”中断;
案例8:hourNames=“acht”中断;
案例9:hourNames=“neun”中断;
案例10:hourNames=“zehn”中断;
案例11:hourNames=“elf”中断;
案例12:hourNames=“zwoelf”中断;
默认值:System.out.println(“键入有效小时”);
}
字符串minuteNames=null;
开关(分钟){
案例0:minuteNames=“punkt”中断;
案例1:minuteNames=“eines”中断;
案例2:minuteNames=“zwei”中断;
案例3:minuteNames=“drei”中断;
案例4:minuteNames=“vier”中断;
案例5:minuteNames=“fuenf”中断;
案例6:minuteNames=“sechs”中断;
案例7:minuteNames=“sieben”中断;
案例8:minuteNames=“acht”中断;
案例9:minuteNames=“neun”中断;
案例10:minuteNames=“zehn”中断;
案例11:minuteNames=“elf”中断;
案例12:minuteNames=“zwoelf”中断;
案例13:minuteNames=“dreizehn”中断;
案例14:minuteNames=“vierzehn”中断;
案例15:minuteNames=“viertel nach”中断;
案例16:minuteNames=“sechzehn”中断;
案例17:minuteNames=“siebzehn”中断;
案例18:minuteNames=“achtzeh”中断;
案例19:minuteNames=“neunzehn”中断;
案例20:minuteNames=“zwanzig”中断;
案例21:minuteNames=“einundzwanzig”中断;
案例22:minuteNames=“zweiundzwanzig”中断;
案例23:minuteNames=“dreiundzwanzig”中断;
案例24:minuteNames=“vierundzwanzig”中断;
案例25:minuteNames=“fuenfundzwanzig”中断;
案例26:minuteNames=“sechsundzwanzig”中断;
案例27:minuteNames=“siebenundzwanzig”中断;
案例28:minuteNames=“achtundzwanzig”中断;
案例29:minuteNames=“Neunudzwanzig”断裂;
案例30:minuteNames=“halb”中断;
案例31:minuteNames=“einundredeißig”中断;
案例32:minuteNames=“zweiunddreißig”中断;
案例33:minuteNames=“Dreiundreißig”中断;
案例34:minuteNames=“vierunddreißig”中断;
案例35:minuteNames=“fuenfundreißig”中断;
案例36:minuteNames=“sechsunddreißig”中断;
案例37:minuteNames=“Siebenundreißig”中断;
案例38:minuteNames=“achtunddreißig”中断;
案例39:minuteNames=“neunuddreißig”中断;
案例40:minuteNames=“vierzig”中断;
案例41:minuteNames=“einundvierzig”中断;
案例42:minuteNames=“zweiundvierzig”中断;
案例43:minuteNames=“dreiundvierzig”中断;
案例44:minuteNames=“vierundvierzig”中断;
案例45:minuteNames=“dreiviertel”中断;
案例46:minuteNames=“sechsudvierzig”中断;
案例47:minuteNames=“siebenundvierzig”中断;
案例48:minuteNames=“achtundvierzig”中断;
案例49:minuteNames=“Neunudvierzig”中断;
案例50:minuteNames=“fuenfzig”中断;
案例51:minuteNames=“einundfunfzig”中断;
案例52:minuteNames=“ZwWeuindFuenFzig”中断;
案例53:minuteNames=“dreiundfenfzig”中断;
案例54:minuteNames=“vierundfuenfzig”中断;
案例55:minuteNames=“fuenfundfuenfzig”中断;
案例56:minuteNames=“sechsundfuenfzig”中断;
案例57:minuteNames=“siebenundfuenfzig”中断;
案例58:minuteNames=“achttundfuenfzig”中断;
案例59:minuteNames=“neunudfunfzig”中断;
默认值:minuteNames=“Type valid numer”中断;
}
如果(分钟==0){
系统输出打印项次(分钟数+小时数+超小时数);
}否则,如果(分钟==15){
系统输出打印项次(分钟数+小时数+超小时数);
}否则,如果(分钟==30){
系统输出打印项次(分钟数+小时数+超小时数);
}否则如果(分钟==45){
系统输出打印项次(分钟数+小时数+超小时数);
}否则{
系统输出打印长度(小时+超小时+分钟);
}
}
}
}
试试这个
System.out.println("Type Hour: ");
int hours = In.readInt();
System.out.println("Type minutes: ");
int minutes = In.readInt();
if (minutes == 30)
{
hours++;
}
我认为你必须做一些面向对象的编程。我会用WordFormat创建一个接口
public String format(int hours, int minutes)
public static void main(String[] args) {
System.out.println("Type Hour: ");
int hours = In.readInt();
System.out.println("Type minutes: ");
int minutes = In.readInt();;
if (hours < 1 || hours > 12) {
System.out.println("*****");
System.exit(0);
} else if (minutes < 0 || minutes > 59) {
System.out.println("****");
System.exit(0);
}
System.println("Zeit: " + zeit(hours, minutes));
}
static String zeit(int hours, int minutes) {
if (minutes == 0) {
return hourName(hours) + " Uhr");
} else if (minutes == 15) {
return "Viertel nach " + hourName(hour) + " Uhr"); // Quarter past
// Ex-DDR:
//return "Viertel " + hourName(1 + (hour % 12)) + " Uhr"):
} else if (minutes == 30) {
int nextHour = hours + 1;
if (nextHour > 12) {
nextHour = 1;
}
return "Halb " + hourName(nextHour) + " Uhr");
} else if (minutes == 45) {
int nextHour = hours + 1;
if (nextHour > 12) {
nextHour = 1;
}
return "Viertel vor " + hourName(nextHour) + " Uhr");
} else {
return hourName(hours) + " Uhr " + minuteName(minutes));
}
}
static String hourName(int hours) {
String hourNames = null;
switch(hours) {
case 1: hourNames = "ein";break;
case 2: hourNames = "zwei";break;
case 3: hourNames = "drei";break;
case 4: hourNames = "vier";break;
case 5: hourNames = "f\u00FCnf";break;
case 6: hourNames = "sechs";break;
case 7: hourNames = "sieben";break;
case 8: hourNames = "acht";break;
case 9: hourNames = "neun";break;
case 10: hourNames = "zehn";break;
case 11: hourNames = "elf";break;
case 12: hourNames = "zw\u00F6lf";break;
default: System.out.println("Type valid hour");
}
return hourNames;
}
static String minuteName(int minutes) {
String minuteNames = null;
switch(minutes) {
case 0: minuteNames = "punkt";break;
case 1: minuteNames = "eines";break;
case 2: minuteNames = "zwei";break;
case 3: minuteNames = "drei";break;
case 4: minuteNames = "vier";break;
case 5: minuteNames = "f\u00FCnf";break;
case 6: minuteNames = "sechs";break;
case 7: minuteNames = "sieben";break;
case 8: minuteNames = "acht";break;
case 9: minuteNames = "neun";break;
case 10: minuteNames = "zehn";break;
case 11: minuteNames = "elf";break;
case 12: minuteNames = "zw\u00F6lf";break;
case 13: minuteNames = "dreizehn";break;
case 14: minuteNames = "vierzehn";break;
case 15: minuteNames = "f\u00FCnfzehn";break;
case 16: minuteNames = "sechzehn";break;
case 17: minuteNames = "siebzehn";break;
case 18: minuteNames = "achtzeh";break;
case 19: minuteNames = "neunzehn";break;
case 20: minuteNames = "zwanzig";break;
case 21: minuteNames = "einundzwanzig";break;
case 22: minuteNames = "zweiundzwanzig";break;
case 23: minuteNames = "dreiundzwanzig";break;
case 24: minuteNames = "vierundzwanzig";break;
case 25: minuteNames = "f\u00FCnfundzwanzig";break;
case 26: minuteNames = "sechsundzwanzig";break;
case 27: minuteNames = "siebenundzwanzig";break;
case 28: minuteNames = "achtundzwanzig";break;
case 29: minuteNames = "neunundzwanzig";break;
case 30: minuteNames = "halb";break;
case 31: minuteNames = "einunddreißig";break;
case 32: minuteNames = "zweiunddreißig";break;
case 33: minuteNames = "dreiunddreißig";break;
case 34: minuteNames = "vierunddreißig";break;
case 35: minuteNames = "fuenfunddreißig";break;
case 36: minuteNames = "sechsunddreißig";break;
case 37: minuteNames = "siebenunddreißig";break;
case 38: minuteNames = "achtunddreißig";break;
case 39: minuteNames = "neununddreißig";break;
case 40: minuteNames = "vierzig";break;
case 41: minuteNames = "einundvierzig";break;
case 42: minuteNames = "zweiundvierzig";break;
case 43: minuteNames = "dreiundvierzig";break;
case 44: minuteNames = "vierundvierzig";break;
case 45: minuteNames = "dreiviertel";break;
case 46: minuteNames = "sechsudvierzig";break;
case 47: minuteNames = "siebenundvierzig";break;
case 48: minuteNames = "achtundvierzig";break;
case 49: minuteNames = "neunundvierzig";break;
case 50: minuteNames = "fuenfzig";break;
case 51: minuteNames = "einundfuenfzig";break;
case 52: minuteNames = "zwweiundfuenfzig";break;
case 53: minuteNames = "dreiundfuenfzig";break;
case 54: minuteNames = "vierundfuenfzig";break;
case 55: minuteNames = "fuenfundfuenfzig";break;
case 56: minuteNames = "sechsundfuenfzig";break;
case 57: minuteNames = "siebenundfuenfzig";break;
case 58: minuteNames = "achttundfuenfzig";break;
case 59: minuteNames = "neunundfuenfzig";break;
default: minuteNames = "Type valid nummer";break;
}
return minuteNames;
}
int nextHour = 1 + (hours % 12);