使用类似于我已经完成的代码将HH:MM转换为分钟

问题描述:

我试图将HH:MM转换为只有几分钟的时间,并且没有运气。任何帮助都会很棒。使用类似于我已经完成的代码将HH:MM转换为分钟

import java.util.Scanner; 

public class taskA { 

    public static void main(String[] args) { 

     Scanner scanner = new Scanner(System.in); 

     System.out.println("Please Specify your time HH:MM"); 
     String Time = scanner.next(); 
     System.out.println("Your time is: " + Time); 


     String finalTime = (Time * 60); 
     System.out.println("your final time in minutes is :" + finalTime); 
    } 
} 
+0

使用'parseInt'将其转换为int。你有什么是不正确的。您还需要使用':'分割,然后执行逻辑将小时转换为分钟并将其添加到'mm'等。或者更好的方法是使用'nextInt'从扫描器读取int – sam

这里是一个应该让你开始一个例子:

Scanner scanner = new Scanner("12:34").useDelimiter(":"); 
System.out.println(scanner.nextInt()); 
System.out.println(scanner.nextInt()); 

以上输出:

12 
34 

public static void main(String[] args) { 
    Scanner scanner = new Scanner(System.in); 

    System.out.println("Please Specify your time HH:MM"); 
    String input = scanner.nextLine(); 
    String[] time = input.split("\\:"); 
    int hour = Integer.parseInt(time[0]); 
    int minutes = Integer.parseInt(time[1]); 
    System.out.println("Your time is: " + hour + ":" + minutes); 


    int finalTime = (minutes + hour * 60); 
    System.out.println("your final time in minutes are :" + finalTime); 
} 

这应该工作,你想要的方式。 你问题是你需要使用整数而不是字符串。 所以这段代码做的是读取下一行并将其保存在“输入”中。下一行创建一个字符串数组,其中的输入被分割,其工作方式如下:方法input.split(“\:”)接受字符串“输入”并接收所有字符,直到“:”出现,然后它将这些字符保存在Array的第一个索引(time [0])中,然后将剩余的字符保存到下一个索引中,依此类推。现在你知道小时在第一个索引和第二个分钟,你可以将它们从字符串转换为整数,然后将小时乘以60,然后得到分钟。 我希望我能帮助你,如果我犯了一些错误(不是英语),我很抱歉。