java经典算法-day18
哈喽,各位小伙伴们好,我是喵手。
一、前言
正值金三银四好时节,又到了刷题月。xdm,有空的欢迎一起呀。无论你是挤公交还是坐地铁时间,随时随地皆可刷...你可以不用实操,你只需要看题思考,完后有空coding就好呀。接下来我要开启我的刷题之旅啦,喜欢的小伙伴欢迎点赞关注哦。
二、题目描述:
题目1:
写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
题目2:
有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,把原有的数据和计算出的平均分数存放在磁盘文件。
三、思路分析:
题1分析:
这题其实比较简单。就是直接控制台扫描键盘用户输入,然后直接通过字符串的.length()来获取字符串的长度即可,非常之简单呢。
题2分析:
第一件事就是记录每一个学生的学号,姓名,三门成绩,并且记录三门成绩的总和,最后输出平均分即可。要求的就是你得从键盘录入用户的每次输入,这也就用到了Scanner()
四、算法实现:
题1AC代码:
/**
* 写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
*/
public static Integer sumWidth(String str) {
//直接返回字符串长度
return str.length();
}
题2AC代码:
/**
* 有3个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),并计算出平均成绩。
*/
public static List<Map> userInfo() {
List users = new ArrayList();
for (int i = 1; i <= 3; i++) {
Map map = new HashMap<>();
Scanner input = new Scanner(System.in);
System.out.println("请输入第" + i + "个同学的学号:");
String no = input.nextLine();
map.put("no", no);
System.out.println("请输入第" + i + "个同学的姓名:");
String name = input.nextLine();
map.put("name", name);
System.out.println("请输入第" + i + "个同学的第一门成绩:");
int grade1 = input.nextInt();
System.out.println("请输入第" + i + "个同学的第二门成绩:");
int grade2 = input.nextInt();
System.out.println("请输入第" + i + "个同学的第三门成绩:");
int grade3 = input.nextInt();
map.put("gradle", grade1 + grade2 + grade3);
users.add(map);
} return users;
}
五、总结:
综上所述,这是以往刷题刷到最简单的两题,或许就是考察大家对Scanner()类是否熟悉,只要是熟悉,那肯定是可以通过键盘录入获取到用户输入到的内容,然后通过内容进行下一步就好办多了,比如第一题的求用户输入一个字符串,然后返回打印字符串的长度,那直接返回它的长度不就好啦,第二题就是考察多次录入用map或者list存储都可。
如果你有更好的解题思路或者想法,欢迎评论区留言告诉我哦,喵手感激不尽。
六、文末:
好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。
wished for you successed !!!
---------------------------------------------------------------------
⭐️若喜欢我,就请关注我叭。
⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。
---------------------------------------------------------------------
- 点赞
- 收藏
- 关注作者
评论(0)