📩很多朋友都问我学完基础知识以后怎样提高编程水平?当然是刷题啦!很多小伙伴都在纠结从哪里开始,今天给大家推荐一个身边朋友都在使用的刷题网站: 点击进入牛客网刷题吧! 各大互联网大厂面试真题,成体系的分类题库,从入门到进阶,分类练习哦!
📩Java基础学习主要以练习为主, 很多朋友听完视频课程学会基础以后感觉对练手项目无从下手,这里推荐去牛客网看看,这里的IT题库内容很丰富,属于国内做的很好的IT学习网站,而且是 课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费!!
📩从基础开始练习, 知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了java入门的全部知识点以及全部语法,通过知识点分类逐层递进, 从基础开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。
📩牛客网还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。快来点击链接开始刷题吧: 牛客网刷题进阶!
题目描述
定义一个方法用于录入学生的考试成绩,要求考试成绩必须在0-100之间,不满足就产生一个自定义异常,控制台输出一个错误信息”分数不合法”(请输出自定义异常对象的错误信息,将错误信息设置为分数不合法)
输入描述:
控制台输入的int类型整数
输出描述:
若分数合法则输出该分数,否则输出错误信息分数不合法
输入: 100
输出: 100输入:-1
输出: 分数不合法
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();
try{
if(score >= 0 && score 100)
System.out.println(score);
else
throw new ScoreException("分数不合法");
}
catch(ScoreException str){
System.out.println(str.getMessage());
}
}
}
class ScoreException extends Exception{
public ScoreException(String message){
super(message);
}
}
题目描述
从键盘获取一串字符串,要求去除重复的字符。请使用HashSet解决这一问题
输入描述:
键盘输入的任意字符串
输出描述:
去重后的字符串(不要求顺序,预设代码中已经给出输出)
输入: helloworld
输出: rdewhlo
import java.util.HashSet;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
scanner.close();
HashSet<Character> hs = new HashSet<>();
for(int i=0;i<str.length();i++){
hs.add(str.charAt(i));
}
for (char c:hs) {
System.out.print(c);
}
}
}
题目描述
请使用三种方式遍历一个list集合
输入描述:
键盘任意输入的五个int类型变量
输出描述:
使用三种不同的方法遍历集合,遍历输出时不换行,数字之间用空格隔开
输入: 1 2 3 4 5
输出:
普通for循环:1 2 3 4 5
增强for循环:1 2 3 4 5
迭代器遍历:1 2 3 4 5
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
List<Integer> list = new ArrayList<>();
int num1 = scanner.nextInt();
int num2 = scanner.nextInt();
int num3 = scanner.nextInt();
int num4 = scanner.nextInt();
int num5 = scanner.nextInt();
scanner.close();
list.add(num1);
list.add(num2);
list.add(num3);
list.add(num4);
list.add(num5);
System.out.print("普通for循环:");
for(int i=0;i<list.size();i++){
System.out.print(list.get(i)+" ");
}
System.out.println();
System.out.print("增强for循环:");
for(int i:list){
System.out.print(i+" ");
}
System.out.println();
System.out.print("迭代器遍历:");
Iterator it = list.iterator();
while(it.hasNext()){
System.out.print(it.next()+" ");
}
System.out.println();
}
}
题目描述
请设计一个排队程序,用户有普通客人和VIP客人之分,VIP客人不排队(即VIP客人在队列头部),目前队列中已有两位客人小明和小军在排队,请将VIP客人小红新增至队列头部。
输入描述:
无
输出描述:
预设代码中已经指定输出
import java.util.*;
public class Main {
public static void main(String[] args) {
Guest guest1 = new Guest("小明",false);
Guest guest2 = new Guest("小军",false);
Guest vipGuest = new Guest("小红",true);
Deque<Guest> deque = new ArrayDeque<>();
deque.add(guest1);
deque.add(guest2);
deque.addFirst(vipGuest);
System.out.println(deque);
}
}
class Guest{
String name;
Boolean vip;
@Override
public String toString() {
return name;
}
public Guest(String name, Boolean vip) {
this.name = name;
this.vip = vip;
}
}
题目描述
现从一队学生中抽人上台演讲,为公平起见,队头队尾交替抽取,请通过程序实现这个出队的过程。
输入描述:
一组学生的名字
输出描述:
交替打印队头队尾学生的名字
输入: Tom Jim Lily Lucy Mary
输出: Tom Mary Jim Lucy Lily
import java.util.ArrayDeque;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
ArrayDeque deque = new ArrayDeque();
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String name = scanner.next();
deque.offerLast(name);
}
int l = deque.size();
for (int i=0; i<l; i++) {
if (i%2==0) {
System.out.println(deque.pollFirst());
}
else {
System.out.println(deque.pollLast());
}
}
}
}
Original: https://blog.csdn.net/zhangxia_/article/details/126532563
Author: 橙子!
Title: 【Java刷题进阶】基础入门篇⑧
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/542917/
转载文章受原作者版权保护。转载请注明原作者出处!