第一题:回文数判断
题目描述
请补全预设代码中判断回文数的方法,若输入的五位数字是回文是则返回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; } }
第二题:根据周长求面积
题目描述
已知:
- 图形类Shape,该类中定义了图形的周长属性,以及返回周长的方法。
- Area接口,该接口中定义了返回面积的方法getArea()。
要求:
- 定义圆形类Circle,使其继承于Shape,并实现Area接口。
- 定义方形类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]+" "); } } }