编一个程序,新手。。。。。。

编写一个程序,把输入的24小时的时间转换为12小时的。
求思路编写一个程序,把输入的24小时的时间转换为12小时的。

 Scanner in = new Scanner(System.in);
System.out.println("请输入时间,格式为hh:mm");
String str = in.nextLine();
int hr = Integer.parseInt(str.split(":")[0]);
int m = Integer.parseInt(str.split(":")[1]);
System.out.println("现在时间是" + (hr / 12 == 0 ? "上午" : "下午") + hr % 12 + "点" + m + "分")

public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int hour = 0, minute = 0, second = 0;
// 字符串拼接方式实现格式化输出
String hours = "", minutes = "", seconds = "";
lable1: {
while (true) {
do {
System.out.println("输入“-1” 退出循环测试\n请输入小时数:");
hour = cin.nextInt();
if (hour == -1) {
break lable1;
}
if (hour < 0 || hour > 24) {
System.out.println("输入的小时数不在范围内!请重新输入!");
}
} while (hour > 24 || hour < 0);

            if (hour >= 0 && hour < 10) {
                hours = "0" + hour;
            } else {
                hours = hour + "";
            }
            do {
                System.out.println("请输入分钟数:");
                minute = cin.nextInt();
                if (minute < 0 || minute > 60) {
                    System.out.println("输入的分钟数不在范围内!请重新输入!");
                }
            } while (minute > 60 || minute < 0);
            if (minute >= 0 && minute < 10) {
                minutes = "0" + minute;
            } else {
                minutes = minute + "";
            }
            do {
                System.out.println("请输入秒数:");
                second = cin.nextInt();
                if (second < 0 || second > 60) {
                    System.out.println("输入的秒数不在范围内!请重新输入!");
                }
                if (second >= 0 && second < 10) {
                    seconds = "0" + second;
                } else {
                    seconds = second + "";
                }
            } while (second > 60 || second < 0);
            System.out.println("根据输入转换后的时间为: " + hours + ":" + minutes
                    + ":" + seconds + "\n");

System.out.println("----------------------------------");

// 方式二 凋用String.format()方法进行格式化
            hours = String.format("%02d", hour);
            minutes = String.format("%02d", minute);
            seconds = String.format("%02d", second);
        System.out.println("根据输入转换后的时间为:" +                hours + ":" + minutes + ":"  + seconds);
        }
    }
}
    希望对您有用 谢谢

使用simpleDateFormat 直接转换

Date date = new Date(116, 10, 14, 13, 30);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
System.out.println(sdf.format(date));//这个表示12小时制 2016-11-14 01:30:00
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf2.format(date));//这个表示24小时制 2016-11-14 13:30:00

直接调API不就行了

Date d = new Date();

SimpleDateFormat ss = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");//12小时制

System.out.println(ss.format(d));

Date date = new Date();

SimpleDateFormat sdformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制

String LgTime = sdformat.format(date);

System.out.println(LgTime);