【Java刷题进阶】基础进阶篇


🌕前言

📩Java基础学习主要以练习为主,很多朋友听完视频课程学会基础以后感觉对练手项目无从下手,这里推荐去牛客网看看,这里的IT题库内容很丰富,属于国内做的很好的IT学习网站,而且是课程+刷题+面经+求职+讨论区分享。

在这里插入图片描述
📩从基础开始练习,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了java入门的全部知识点以及全部语法,通过知识点分类逐层递进,从基础开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。
在这里插入图片描述
**📩牛客网还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。


第一题:回文数判断

🍂题目描述

请补全预设代码中判断回文数的方法,若输入的五位数字是回文是则返回true,否则返回false。回文数即个位与万位相同,十位与千位相同的数字。如:12321、89898

输入描述:
控制台输入的五位数
输出描述:
true/false

🍂示例

输入: 12321
输出: true

示例2

输入: 18182
输出: false

🍃题解

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        Main main = new Main();
        int number = console.nextInt();
        System.out.println(main.palindromeNumber(number));
    }
 
    public Boolean palindromeNumber(int number) {
        StringBuilder str=new StringBuilder();
        str.append(number);
        int left=0;
        int right=str.length()-1;
        while(left<right){
            if(str.charAt(left)!=str.charAt(right)){
                return false;
            }else{
                left++;
                right--;
            }
        }
        return true;
    }
}

第二题:根据周长求面积

🍂题目描述

已知:

  1. 图形类Shape,该类中定义了图形的周长属性,以及返回周长的方法。
  2. Area接口,该接口中定义了返回面积的方法getArea()。

要求:

  1. 定义圆形类Circle,使其继承于Shape,并实现Area接口。
  2. 定义方形类Square,使其继承于Shape,并实现Area接口。

注意:
圆周率要使用Math类中的常量。

输入描述:
周长
输出描述:
面积(计算时请使用Math类中的常量,面积为double类型,保留三位小数,四舍五入部分预设代码已经完成)

🍂示例

输入: 4
输出:1.273
1.000

🍃题解

import java.util.Scanner;
 
public class Main {
 
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextDouble()) {
            double s = scanner.nextDouble();
            // Circle和Square是需要你定义的类
            System.out.println(String.format("%.3f",new Circle(s).getArea()));
            System.out.println(String.format("%.3f", new Square(s).getArea()));
        }
    }
 
}
 
class Shape {
 
    private double s; // 周长
 
    public Shape(double s) {
        this.s = s;
    }
 
    public double getS() {
        return s;
    }
 
}
 
interface Area {
    double getArea(); // 面积
}
 
// 圆形
class Circle extends Shape implements Area {
 
    //write your code here......
 
 public Circle(double s) {
        super(s);
    }
 
    @Override
    public double getArea() {
        return Math.PI * Math.pow((getS() / (2 * Math.PI)), 2);
    }
}
 
// 方形
class Square extends Shape implements Area {
 
    //write your code here......
  public Square(double s) {
        super(s);
    }
 
    @Override
    public double getArea() {
        return Math.pow((getS() / 4), 2);
    }
 
}

第三题:冒泡排序

🍂题目描述

有一个长度为7的无序数组,按照从小到大的顺序排序后输出。

输入描述:
数组中的数据
输出描述:
数组中数据排序后输出

🍂示例

输入: 13 11 9 7 5 3 1
输出: 1 3 5 7 9 11 13

🍃题解

import java.util.Arrays;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
         int[] arr = new int[7];
        for (int i = 0; i < arr.length; i++) {
                    arr[i] = scanner.nextInt();
                }
        scanner.close();
 
        //write your code here......
 
for (int i = 0; i < arr.length - 1; i++) {
    for (int j = 0; j < arr.length - 1 - i; j++) {
        if (arr[j] > arr[j + 1]) {
            int temp = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = temp;
        }
    }
}
        for (int k = 0;k < arr.length; k++) {
                    System.out.print(arr[k]+" ");
                 }
        }
}
  • 59
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 51
    评论
评论 51
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙 子_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值