Java get()时间方法

BLL*_*L27 4 java time

我正在研究以下问题:

24小时制的时间是4位数字,其中最左边的两位数字表示小时(0到23,包括),最右边的两位数字表示分钟(0到59,包括).例如,2130表示晚上九点半.写一个类时间来封装时间.它应该具有以下实例方法:

从键盘读取时间(以四位数字提供,例如2130).您可以假设该数字代表有效时间.

到目前为止我的代码是:

import java.util.Scanner;
import java.io.*;

class Time {

private double hour, min;
Scanner scanner = new Scanner(System.in);

Time() {
    hour = 00;
    min = 00;
}

Time(double h, double m) {
    hour = h;
    min = m;
}

void get() {
    System.out.println("Please enter a time in 24 hour format: ");
    double x = scanner.nextDouble();
    hour = x / 100;
    min = x % 100;
    System.out.println("The time is " + hour + ":" + min);
}

public String toString() {
    return "Time: " + hour + min;
}
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何将4位数输入分成小时和分钟,所有建议,提示赞赏.

ami*_*mit 11

对于4位数的整数 x:

x / 100 - gives the 2 left digits
x % 100 - gives the 2 right digits
Run Code Online (Sandbox Code Playgroud)

编辑:假设这里标题零被默默省略,因为0000被转换为0作为整数,并将产生小时= 0(转换为00),min = 0(转换为00) - 正如它所预期的那样.


Dav*_*amp 6

读入输入作为Stringthen use substring()方法以获取单独的小时和分钟:

String s=scanner.nextLine();

String hours=s.substring(0,2);//hour
String minutes=s.substring(2,4);//min

System.out.println("The time is " + hours + ":" + minutes);
Run Code Online (Sandbox Code Playgroud)