Java学习第三十二天
一、今天干了什么
做PTA基础编程题目集,争取所有编程题使用Java进行解决
二、遇到的问题
1.数据的输入问题:
学习了一位博主的文章,他写得非常详细,附一下链接:https://blog.csdn.net/qq_41181772/article/details/83653875。
输入之前一定要记得Scanner包!
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); //输入整形 String name = sc.nextLine();//输入字符类型(String类型) String s = sc.nextLine(); //输入带空格或tab的字符串 float f = sc.nextFloat(); //输入浮点数 //输入什么类型就带nextXX(); } }
2.PTA7-7 12-24小时制问题
在做的时候,尝试着用1中的方式去输入“:”,但是后来发现这种读取方法并不合适,在题目中无法解决问题,去网上寻扎解决方法,看到了大佬的回答
大佬原文链接:https://blog.csdn.net/qq_41690324/article/details/80789071
我借鉴之后的代码:
标红的这三行,帮助我解决了这个问题,直接用sc.next()输入当前的时间,再用split()去分割字符串,最后使用包装类中国的ValueOf()给hour和minute赋值,妙啊,学到了个小妙招
另外后边时间判断部分的代码过于冗杂,需要进一步地强化学习
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String timeNow = sc.next(); String time[] = timeNow.split(":");// split() 方法用于把一个字符串分割成字符串数组。 int hour = Integer.valueOf(time[0]); int minute = Integer.valueOf(time[1]); if(hour >= 0 && hour < 12) { hour = hour; System.out.print(hour + ":" + minute + " AM"); } else if(hour > 12 && hour < 24) { hour -= 12; System.out.print(hour + ":" + minute + " PM"); } else if(hour == 12) { System.out.print(hour + ":" + minute + " PM"); } else if(hour == 24) { hour = 0; System.out.print(hour + ":" + minute + " AM"); } } }
三、明天干什么
继续用Java做PTA,一边做一边发现问题、解决问题,巩固落实