十六道练习题
package com.itheima;
import java.util.Random;
import java.util.Scanner;
/*
1、打印输出字符串“HelloWorld”。
2、声明一个int类型变量x,并通过键盘输入为x赋值,然后在控制台打印输出x的值。
3、声明两个int类型变量,并通过键盘录入为变量赋值,然后求出两变量之和,在控制台打印输出结果。
4、定义3个int类型变量并赋值,求出最小值,并打印输出到控制台。
5、考试分数线为23分(包含23)以上为通过,18-23分为待定,18分以下(不包含18)为不通过。定义一个成绩,并使用if语句来判断该成绩是否通过,将结果打印到控制台,如: 成绩为25分,通过。
6、(附加题)通过键盘录入一个四位数,分别取出每一位上的数字,并按照一定格式打印输出。如:"数字3251的个位是 1, 十位是 5, 百位是 2,千位是3"
提示:
1234%10=4
1234/10%10=3
1234/10/10%10=2
1234/10/10/10%10=1
7、模拟遥控器调整音量。定义一个音量,如果值为1,那么打印输出“音量增大”;如果值为2,那么打印输出“音量减小”;如果值为3,那么打印输出“关机”;若值为其他数字,打印“抱歉,您给出的数字不合法”。(switch语句)
8、使用for循环实现打印100次helloworld。
9、使用while循环实现打印1到100之间的所有整数。
10、将1到100之间不能被3整除的数字累加求和并打印结果。求出1到5之间所有整数之和并打印结果。求出1到5之间所有奇数之和并打印结果。求出1到5之间所有偶数的个数并打印结果。
11、求1~100以内(包含1和100)能同时被3,5整除的数的和,并将求出的和打印到控制台上。
12、统计并获取10-100之间(包含10和100)个位与十位都为奇数的数字,并将数字和个数都打印到控制台上。
13、获取一个1-500之间(包含1和500)的随机数n,求0-n之间(包含0和n)的偶数和,并打印到控制台上;
14、在main方法中,定义一个长度为5的int类型数组,并使用随机数(1-100之间)为数组元素赋值
(1) 打印输出数组的长度
(2) 遍历输出每个元素
(3) 求出元素值为偶数的个数。
(4) 求出元素值为奇数的元素之和。
15、按要求在main方法中完成以下功能:
(1) 定义一个长度为10的int类型数组arr,使用随机数为数组循环赋值,随机数范围为10-99(包含10和99)
(2) 提示用户键盘录入一个1-5之间(包含1和5,无需用代码判断,提示语即可)的整数num
(3) 遍历arr,如果元素的十位或者个位数字是num的倍数(0视为任意数字的倍数),则输出该元素
示例如下:
16、按要求在main方法中完成以下功能:
(1) 定义一个长度为5的int型数组arr,提示用户输入5个1-60之间的数字(无需用代码判断,提示语即可)作为数组元素
(2) 生成2-10(范围包含2和10)之间的随机数num
(3) 遍历数组arr,筛选出数组中不是num倍数的元素并输出
PS:输入的数组元素范围包括1和60,不需要代码判断
*/
public class Day05LianXiTi {
public static void main(String[] args) {
Scanner SC = new Scanner(System.in);
Random r = new Random();
System.out.println("--------第一题---------");
/*
1、打印输出字符串“HelloWorld”。
*/
System.out.println("HelloWorld");
System.out.println("--------第二题---------");
/*
2、声明一个int类型变量x,并通过键盘输入为x赋值,然后在控制台打印输出x的值。
*/
System.out.println("请通过键盘输入");
int x = SC.nextInt();
System.out.println("你输入的数为:"+x);
System.out.println("--------第三题---------");
/*
3、声明两个int类型变量,并通过键盘录入为变量赋值,然后求出两变量之和,在控制台打印输出结果。
*/
int x1,x2;
System.out.println("请通过键盘输入第一个数");
x1= SC.nextInt();
System.out.println("请通过键盘输入第二个数");
x2= SC.nextInt();
System.out.println("你输入的数的和为:"+(x1+x2));
System.out.println("--------第四题---------");
/*
4、定义3个int类型变量并赋值,求出最小值,并打印输出到控制台。
*/
int x3,x4,x5;
x3=45;
x4=46;
x5=89;
int x6=x3>x4? x4>x5?x5:x4:x3>x5?x5:x3;
System.out.println(x6);
System.out.println("--------第五题---------");
/*
5、考试分数线为23分(包含23)以上为通过,18-23分为待定,18分以下(不包含18)为不通过。
定义一个成绩,并使用if语句来判断该成绩是否通过,将结果打印到控制台,如: 成绩为25分,通过。
*/
int i = r.nextInt(51);
if (i>=23){
System.out.println("成绩为"+i+"分,通过");
}else if (i<=18){
System.out.println("成绩为"+i+"分,不通过");
}else {
System.out.println("成绩为"+i+"分,待定");
}
System.out.println("--------第六题---------");
/*
6、(附加题)通过键盘录入一个四位数,分别取出每一位上的数字,并按照一定格式打印输出。
如:"数字3251的个位是 1, 十位是 5, 百位是 2,千位是3"
提示:
1234%10=4
1234/10%10=3
1234/10/10%10=2
1234/10/10/10%10=1
*/
while(true){
System.out.println("请输入一个四位数");
int temp6 = SC.nextInt();
if (temp6>999 &&temp6<=9999){
int ge=temp6%10;
int shi=temp6/10%10;
int bai=temp6/10/10%10;
int qian=temp6/1000%10;
System.out.println("数字"+temp6+"的个位是"+ge+",十位是"+shi+",百位是"+bai+",千位是"+qian);
break;
}else{
System.out.println("输入数字不是四位数请输入四位数");
}
}
System.out.println("--------第七题---------");
/*
7、模拟遥控器调整音量。定义一个音量,
如果值为1,那么打印输出“音量增大”;
如果值为2,那么打印输出“音量减小”;
如果值为3,那么打印输出“关机”;
若值为其他数字,打印“抱歉,您给出的数字不合法”。(switch语句)
*/
int temp7=r.nextInt(5);
System.out.println(temp7);
switch (temp7){
case 1:
System.out.println("音量增大");
break;
case 2:
System.out.println("音量减少");
break;
case 3:
System.out.println("关机");
break;
default:
System.out.println("抱歉,您给出的数字不合法");
}
System.out.println("--------第八题---------");
/*
8、使用for循环实现打印100次helloworld。
*/
for (int i8 = 0; i8 < 100; i8++) {
System.out.println("HelloWorld "+(i8+1));
}
System.out.println("--------第九题---------");
/*
9、使用while循环实现打印1到100之间的所有整数。
*/
int temp9=0;
while (temp9<100){
temp9++;
System.out.println(temp9);
}
System.out.println("--------第十题---------");
/*
10、将1到100之间不能被3整除的数字累加求和并打印结果。
求出1到5之间所有整数之和并打印结果。
求出1到5之间所有奇数之和并打印结果。
求出1到5之间所有偶数的个数并打印结果。
*/
int sun=0;
for (int temp10 = 0; temp10 < 101; temp10++) {
if (temp10%3!=0){
sun+=temp10;
}
}
System.out.println("100以内不能被三整除的数的和为"+sun);
int sun1=0;
int sun2=0;
int sun3=0;
for (int i10 = 1; i10 <= 5; i10++) {
sun1+=i10;
if(i10%2==0){
sun2+=i10;
}else {
sun3+=i10;
}
}
System.out.println("1到5之间所有整数之和为"+sun1);
System.out.println("1到5之间所有偶数之和为"+sun2);
System.out.println("1到5之间所有奇数之和为"+sun3);
System.out.println("--------第十一题---------");
/*
11、求1~100以内(包含1和100)能同时被3,5整除的数的和,并将求出的和打印到控制台上。
*/
int temp11=0;
for (int i11 = 1; i11 <=100; i11++) {
if(i11%3==0&&i11%5==0){
temp11+=i11;
}
}
System.out.println(temp11);
System.out.println("--------第十二题---------");
/*
12、统计并获取10-100之间(包含10和100)个位与十位都为奇数的数字,
并将数字和个数都打印到控制台上。
*/
int temp12 =0;
for (int i12 = 10; i12 <= 100; i12++) {
if (i12==100){
}else {
if (i12/10%2!=0&&i12%10%2!=0){
temp12++;
System.out.print(i12+" ");
if (temp12%4==0){
System.out.println();
}
}
}
}
System.out.println();
System.out.println("--------第十三题---------");
/*
13、获取一个1-500之间(包含1和500)的随机数n,
求0-n之间(包含0和n)的偶数和,并打印到控制台上;
*/
int sun13=0;
int temp13 = r.nextInt(500) + 1;
for (int i13 = 0; i13<= temp13; i13++) {
if (i13%2==0){
sun13+=i13;
}
}
System.out.println("0到"+temp13+"之间(包含0和n)的偶数和为"+sun13);
System.out.println("--------第十四题---------");
/*
14、在main方法中,定义一个长度为5的int类型数组,
并使用随机数(1-100之间)为数组元素赋值
(1) 打印输出数组的长度
(2) 遍历输出每个元素
(3) 求出元素值为偶数的个数。
(4) 求出元素值为奇数的元素之和。
*/
int[] int14 = new int[5];
int count14=0;
int sun14=0;
for (int i14 = 0; i14 < 5; i14++) {
int temp14 = r.nextInt(100) + 1;
int14 [i14]=temp14;
}
System.out.println(int14.length);
for (int i142=0; i142 < int14.length; i142++) {
System.out.println(int14[i142]);
if (int14[i142]%2==0){
count14++;
}else{
sun14+=int14[i142];
}
}
System.out.println("元素值为偶数的个数为"+count14);
System.out.println("元素值为奇数的元素之和为"+sun14);
System.out.println("--------第十五题---------");
/*
15、按要求在main方法中完成以下功能:
(1) 定义一个长度为10的int类型数组arr,使用随机数为数组循环赋值,随机数范围为10-99(包含10和99)
(2) 提示用户键盘录入一个1-5之间(包含1和5,无需用代码判断,提示语即可)的整数num
(3) 遍历arr,如果元素的十位或者个位数字是num的倍数(0视为任意数字的倍数),则输出该元素
示例如下:
*/
int[] arr15 = new int[10];
for (int i15 = 0; i15 < 10; i15++) {
int temp15 = r.nextInt(90) + 10;
arr15[i15]=temp15;
}
System.out.println("请输入一个1-5之间的数包含1,5:");
int num15;
while (true){
num15 = SC.nextInt();
if (num15>=1&&num15<=5){
break;
}else {
System.out.println("输入数字不符合请重新输入:");
}
}
for (int i1 = 0; i1 < arr15.length; i1++) {
System.out.print(arr15[i1]+" ");
}
for (int i152 = 0; i152 < arr15.length; i152++) {
if (arr15[i152]/10%num15==0||arr15[i152]%10%num15==0){
System.out.println(arr15[i152]);
}
}
System.out.println("--------第十六题---------");
/*
16、按要求在main方法中完成以下功能:
(1) 定义一个长度为5的int型数组arr,提示用户输入5个1-60之间的数字(无需用代码判断,提示语即可)作为数组元素
(2) 生成2-10(范围包含2和10)之间的随机数num
(3) 遍历数组arr,筛选出数组中不是num倍数的元素并输出
PS:输入的数组元素范围包括1和60,不需要代码判断
*/
int[] arr16 = new int[5];
int num16 = r.nextInt(9)+2;
System.out.println(num16);
for (int i163 = 0; i163 < 5; i163++) {
System.out.println("请输入1-60之间的数字当前输入第"+(i163+1)+"个");
int temp16 = SC.nextInt();
arr16[i163]=temp16;
}
for (int i16 = 0; i16 < arr16.length; i16++) {
System.out.print(arr16[i16]+" ");
}
System.out.println();
for (int i162 = 0; i162 < arr16.length; i162++) {
if (arr16[i162]%num16!=0){
System.out.println(arr16[i162]);
}
}
System.out.println("--------完结撒花---------");
}
}
第十六题改进
package com.itheima;
import java.util.Random;
import java.util.Scanner;
public class DiShiLiuTi {
public static void main(String[] args) {
Random r = new Random();
Scanner SC = new Scanner(System.in);
System.out.println("--------第十六题---------");
/*
16、按要求在main方法中完成以下功能:
(1) 定义一个长度为5的int型数组arr,提示用户输入5个1-60之间的数字(无需用代码判断,提示语即可)作为数组元素
(2) 生成2-10(范围包含2和10)之间的随机数num
(3) 遍历数组arr,筛选出数组中不是num倍数的元素并输出
PS:输入的数组元素范围包括1和60,不需要代码判断
*/
int[] arr16 = new int[5];
int num16 = r.nextInt(9)+2;
System.out.println(num16);
int i;
for (i = 0; i < arr16.length; i++) {
isNumber(arr16,i);
}
for (int i1 = 0; i1 < arr16.length; i1++) {
System.out.print(arr16[i1]+" ");
}
System.out.println();
for (int i1 = 0; i < arr16.length; i1++) {
if (arr16[i1]%num16!=0){
System.out.println(arr16[i1]);
}
}
System.out.println("--------完结撒花---------");
}
public static void isNumber(int[] arr16, int i) {
Scanner SC = new Scanner(System.in);
System.out.println("请输入1-60之间的数字当前输入第"+(i+1)+"个");
int temp16 = SC.nextInt();
for (int i1 = 0; i1 < arr16.length; i1++) {
if (arr16[i1]==temp16){
System.out.println("输入数字重复请重新输入");
isNumber(arr16,i);
} else if (temp16<0 ||temp16>60){
System.out.println("输入数字不在1-60之间请重新输入");
isNumber(arr16,i);
}
}
arr16[i]=temp16;
}
}
这篇博客主要介绍了Java基础学习中的第十六题,并对其进行了深入的改进讲解,帮助读者更好地理解和掌握相关知识。
648

被折叠的 条评论
为什么被折叠?



