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

举报
陈橘又青 发表于 2022/09/28 15:39:38 2022/09/28
【摘要】 第一题:回文数判断 🍂题目描述请补全预设代码中判断回文数的方法,若输入的五位数字是回文是则返回true,否则返回false。回文数即个位与万位相同,十位与千位相同的数字。如:12321、89898输入描述:控制台输入的五位数输出描述:true/false 🍂示例输入: 12321输出: true示例2输入: 18182输出: false 🍃题解import java.util.Sca...

第一题:回文数判断

🍂题目描述

请补全预设代码中判断回文数的方法,若输入的五位数字是回文是则返回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]+" ");
                 }
        }
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。