文本中的时间-Java

文本中的时间-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: ");

我编写了一个代码,将键入的时间(数字)格式化为文本。但问题是,例如10:30,文本应该是“halb elf uhr”,而不是“halb zehn uhr”(语言是德语)。因此,我认为案件必须增加,但我如何才能做到这一点。 我用case+1试过了,但没用

代码如下:

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);