『百日百题 · 基础篇』备战面试,坚持刷题 第十二话——异常处理和集合类!

本专栏『百日百题』长期更新,一起加入本刷题计划,一起成长吧!

文章目录

  • 前言
  • JAVA37 判断学生成绩【异常处理】
  • JAVA38 字符串去重【集合类】
  • JAVA39 集合遍历【集合类】
  • 结语


前言

怎么样刷题?

有些同学喜欢上来就是干,上来就是终极难度的题目,觉得自己只要做出最难的,其它的就迎刃而解了。这种急于求成的思想要不得。

算法训练是一个系统工程,需要循序渐进,太过于急功近利,反而容易因做不出难题而产生挫败感,带来反效果。

记得我有一个同事就做了次类似的事情。我当时刚听说有牛客网,就想上去试试,他上去后就挑了一道困难里面还属于比较难的题目,结果想了大半天也没做出来,搞到自己特别沮丧。

你会发现这种做法效率很低,那道题目就算被做出来了,也不代表就可以解出其它的题目。

合理的做法是循序渐进。

我的建议是先刷一遍基础语法题,打好基础在进一步刷算法题,这样首先对这个语言的基础语法和常用API是绝对没有问题的,在后面刷算法题的时候也肯定会事半功倍的!

本专栏文章即将带你从基础语法到高级算法,循序渐进持续练习,加入刷题计划一起加油吧!


对于刷题这里我推荐牛客网如果你对相应语言的基础语法已经比较自信了那你也可以刷算法题,这里牛客网对算法题的难度分类也是很棒的,有入门题,面试必刷题,面试高频题等等。如果基础比较差那么也不用担心,牛客网上面也有基础语法题来帮助你更好地学习基础。

为了方便刷题我直接把牛客网的链接放在下面,大家点击蓝色字体就可以直接进行跳转刷题了!

传送门:刷题入口

在这里插入图片描述

专栏文章即将带你从基础语法到高级算法,循序渐进持续练习,加入刷题计划一起加油吧!


JAVA37 判断学生成绩【异常处理】

题目:
『百日百题 · 基础篇』备战面试,坚持刷题 第十二话——异常处理和集合类!_第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); //输入异常信息
    }
}

JAVA38 字符串去重【集合类】

题目:
『百日百题 · 基础篇』备战面试,坚持刷题 第十二话——异常处理和集合类!_第2张图片

题解:

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);
        }
    }
}

JAVA39 集合遍历【集合类】

题目:
『百日百题 · 基础篇』备战面试,坚持刷题 第十二话——异常处理和集合类!_第3张图片
题解:

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循环:");
        
        list.forEach(n -> {
            System.out.print(n + " ");
        });

        System.out.println();
        System.out.print("迭代器遍历:");
        Iterator<Integer> it = list.iterator();
        while(it.hasNext()){
            System.out.print(it.next() + " ");
        }

        System.out.println();
    }
}

结语

为了方便刷题我直接把刷题网站的链接放在下面,大家点击蓝色字体就可以直接进行跳转刷题了!

传送门:刷题神器

刷题这件事,大家一定要认真起来,不可懈怠!

日积月累,方成大器!

你可能感兴趣的:(百日百题,面试,java,算法)