week 8
Monday
(第一题)
输入一个数字,判断这个数字是不是回文数
/*
(一)题目描述
输入一个数字,判断这个数字是不是回文数
*/
import java.util.Arrays;
import java.util.Scanner;
public class week8_Monday {
public static boolean hws(int n){
int x = 0;
if(n<0||(n!=0 && n%10==0)){
return false;
}
while (n!=0){
x = x*10;
x = x+(n%10);
n = n/10;
if(n==x||n/10==x){
return true;
}
}
return false;
}
public static void main(String[]args){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您想要判断的数字:");
int input = scanner.nextInt();
System.out.println("判断结果为:"+hws(input));
}
(第二题)
某班级有30名学生参加英语考试,试用一维数组实现班级学生英语考试成绩的存储并统计其班级平均分。
要求英语成绩是利用Math类中的random()方法随机生成,分数的范围为0~100分。
/*
(二)题目描述
某班级有30名学生参加英语考试,试用一维数组实现班级学生英语考试成绩的存储并统计其班级平均分。
要求英语成绩是利用Math类中的random()方法随机生成,分数的范围为0~100分。
*/
public static double pjf(int n){
double [] grade = new double[n+1];
grade[0] = 0;
int i ;
double sum = 0;
double average = 0;
for ( i = 0;i<n;i++){
double cj =(100*Math.random());
sum = sum + cj;
grade[i] = cj;
System.out.println((i+1)+"号学生英语成绩为:"+ String.format("%.2f",grade[i]) +"\t");
}
average = sum /n;
return average;
}
public static void main(String[]args){
System.out.println("请输入您想录入的学生人数:");
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
System.out.println("平均分为:"+String.format("%.2f",pjf(x)));
}
(第三题)
输入一串数字,将其存储于一位数组中,并逆序输出
/*
(三)题目描述
输入一串数字,将其存储于一位数组中,并逆序输出
*/
public static void nixu(int n ){
int [] a = new int[4];
a[0] = n/1000;
a[1] = n/100-a[0]*10;
a[2] = n%100/10;
a[3] = n%10;
for (int i = 3;i>=0;i--) {
System.out.print(a);
}
}
public static void main(String[]args){
System.out.println("请输入一串数字:");
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
nixu(x);
}
Wednesday
(第一题)
有n个整数,使其前面各数顺序向后移m个位置,使最后m个数变成最前面的m个数
函数输入示例:move(int[] arr, int m)
import java.util.Scanner;
import java.util.Arrays;
public class week8_Wednesday {
/*
(一)题目描述
有n个整数,使其前面各数顺序向后移m个位置,使最后m个数变成最前面的m个数
函数输入示例:move(int[] arr, int m)
*/
public static void move(int [] arr,int m){
int temp =0;
// System.out.println("请输入您想要移动的m:");
for (int i = 0; i < m; i++) {
for (int j = 0;j<m-1;j++){
if(j == 0){
temp = arr[j];
}
arr[j] = arr[j + 1];
}
arr[m-1] = temp;
}
System.out.println(temp);
System.out.println("您移动后的数组为:"+Arrays.toString(arr));
}
public static void main(String[] args) {
System.out.println("请输入您要输入n个整数:");
Scanner x = new Scanner(System.in);
int m=x.nextInt();
System.out.println("请输入您想要存入该数组的整数:");
int[] number=new int[m];
for(int i=0;i<m;i++){
number[i]=x.nextInt();
}
System.out.println("您存入的数组为:"+Arrays.toString(number));
System.out.println("请输入您想要移动的m:");
int s = x.nextInt();
move(number,s); //函数
/*for (int i = 0; i < s; i++) {
for (int j = 0;j<m-1;j++){
if(j == 0){
temp = number[j];
}
number[j] = number[j + 1];
}
number[m-1] = temp;
}
System.out.println(temp);
System.out.println("您移动后的数组为:"+Arrays.toString(number));*/
/*
(第二题)
编程实现高空坠球问题。
皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第nn次落地时,在空中一共经过多少距离?第nn次反弹的高度是多少?输入格式:输入在一行中给出两个非负整数,分别是皮球的初始高度和nn,均在长整型范围内。输出格式:在一行中顺序输出皮球第nn次落地时在空中经过的距离、以及第nn次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。输入样例:33 5输出样例:94.9 1.0
/*
(二)题目描述
编程实现高空坠球问题。
皮球从某给定高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,……,如此反复。问皮球在第nn次落地时,在空中一共经过多少距离?第nn次反弹的高度是多少?
输入格式:
输入在一行中给出两个非负整数,分别是皮球的初始高度和nn,均在长整型范围内。
输出格式:
在一行中顺序输出皮球第nn次落地时在空中经过的距离、以及第nn次反弹的高度,其间以一个空格分隔,保留一位小数。题目保证计算结果不超过双精度范围。
输入样例:
33 5
输出样例:
94.9 1.0
*/
public static void main(String[] args) {
System.out.println("请输入皮球的初始高度:");
Scanner scanner = new Scanner(System.in);
double h = scanner.nextDouble();
double sum = h;
double ft = 0;
System.out.println("请输入nn:");
int nn = scanner.nextInt();
if (nn == 1) {
h = h / 2;
}
else {
for (int i = 0; i < nn - 1; i++) {
h = h / 2;
sum = sum + 2 * h;
ft = h/2;
}
}
System.out.println(String.format("%.1f",sum)+"\t"+String.format("%.1f",ft));
}