Random与数组加强训练
1、需求:定义一个长度为5的一维数组,给每个元素赋值. (要求数组中每个元素的值是20-80的随机数)遍历数组打印每个元素的值。
import java.util.Random;
public class demo04 {
public static void main(String[] args) {
Random r = new Random();
int[] arr = new int[5];
for (int i = 0; i < arr.length; i++) {
int a = r.nextInt(61) + 20;
arr[i] = a;
System.out.println("输出的随机数为:" + arr[i]);
}
}
}
2、需求:键盘录入一个整数作为数组的长度,随后再次键盘录入数据并将数组存满,从数组中找出最小值,并将最小值打印在控制台
import java.util.Random;
import java.util.Scanner;
public class demo05 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入数组长度:");
int a = sc.nextInt();
int[] arr = new int[a];
System.out.println("请输入数组元素:");
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
}
int min = arr[0];
for (int i = 0; i < arr.length; i++) {
if (min > arr[i]) {
min = arr[i];
}
}
System.out.println("最小值为:" + min);
}
}
3、需求:某超市在去年4个季度的营业额(单位万元)
- 分别是: {11,22,33}, {44,55,66}, {77,88,99}, {11,22,33}
- 请使用所学的二维数组技术,帮该超市统计出每个季度的总营业额并输出在控制台
public class demo06 {
public static void main(String[] args) {
int[][] arr = {{11, 22, 33}, {44, 55, 66}, {77, 88, 99}, {11, 22, 33}};
for (int i = 0; i < arr.length; i++) {//将二维数组的一维数组按位遍历
int sum = 0;//定义一个变量,用来求一维数组之和
for (int j = 0; j < arr[i].length; j++) {//将一维数组的元素按位遍历
sum += arr[i][j];//求出一维数组之和
}
System.out.println("第" + (i + 1) + "个季度总营业额为" + sum);
}
}
}
运行结果:
第1个季度总营业额为66
第2个季度总营业额为165
第3个季度总营业额为264
第4个季度总营业额为66
4、for循环练习
求出1到100之间的既是3的倍数又是5倍数的数字之和.
public class demo07 {
public static void main(String[] args) {
int num = 0;
for (int i = 1; i < 101; i++) {
if (i % 3 == 0 && i % 5 == 0) {
num += i;
}
}
System.out.println("1到100之间的既是3的倍数又是5倍数的数字之和为:" + num);
}
}
运行结果:
1到100之间的既是3的倍数又是5倍数的数字之和为:315
5、从键盘上录入一个大于100的三位数,求出100到该数字之间满足如下要求的数字之和:
1.数字的个位数不为7;
2.数字的十位数不为5;
3.数字的百位数不为3;
import java.util.Scanner;
public class demo08 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个大于100的三位数:");
int a = sc.nextInt();
int sum = 0;
for (int i = 101; i <= a; i++) {
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100 % 10;
if (ge != 7 && shi != 5 && bai != 3) {
sum += i;
}
}
System.out.println(sum);
}
}
运行结果:
请输入一个大于100的三位数:
103
306
5、请按如下要求编写程序,打印菜单:
1.从键盘上录入一个1到5的数字;
2.当数字为1时打印菜单"新建";
当数字为2时打印菜单"打开文件";
当数字为3时打印菜单"保存";
当数字为4时打印菜单"刷新";
当数字为5时打印菜单"退出",并退出程序;
此行代码可以终止java程序运行: System.exit(0);
import java.util.Scanner;
public class demo09 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("1、新建 2、打开文件 3、保存 4、刷新 5、退出");
for (int i = 1; i <= 5; i++) {
System.out.println("请输入一个1~5的数字:");//输入的数据需要在循环里面,如果在外面将一直循环
int a = sc.nextInt();
switch (a) {
case 1:
System.out.println("新建");
break;
case 2:
System.out.println("打开文件");
break;
case 3:
System.out.println("保存");
break;
case 4:
System.out.println("刷新");
break;
case 5:
System.out.println("退出");
break;
default:
System.exit(0);
}
}
}
}
1.功能描述:模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果
2.要求:
(1)键盘录入三个整数,其中前两个整数代表参加运算的数据,
第三个整数为要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算)
(2)使用今天所学知识完成功能
(3)演示格式如下:
请输入第一个整数:30
请输入第二个整数:40
请输入您要进行的运算(0:表示加法运算,1:表示减法运算,2:表示乘法运算,3:表示除法运算):0
控制台输出:30+40=70
import java.util.Scanner;
public class demo10 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个整数:");
int a = sc.nextInt();
System.out.println("请输入第二个整数:");
int b = sc.nextInt();
System.out.println("请输入第三个整数:0表示加法运算,1表示减法运算,2表示乘法运算,3表示除法运算");
int i = sc.nextInt();
switch (i) {
case 0:
System.out.println(a + "+"+ b + "=" + (a + b));
break;
case 1:
System.out.println(a + "-"+ b + "=" + (a - b));
break;
case 2:
System.out.println(a + "*"+ b + "=" + (a * b));
break;
case 3:
System.out.println(a + "/"+ b + "=" + (a /b));
break;
}
}
}
运行结果:
请输入第一个整数:
30
请输入第二个整数:
40
请输入第三个整数:0表示加法运算,1表示减法运算,2表示乘法运算,3表示除法运算
0
30+40=70