概述
今天的题全是数组的运用。
package 第一题;
//定义一个含有五个元素的数组,并为每个元素赋值,求数组中所有元素的最小值
/1.定义5个元素数组
2.可以使用初始化数组的两种方式之一为数组元素赋值
3.遍历数组求数组中的最小值/
public class Test01 {
public static void main(String[] args) {
int[] arr={23,50,22,66,13};
int min=arr[0];
for(int i=0;i<arr.length;i++){
if(arr[i]<min){
min=arr[i];
}
}
System.out.println(min);
}
}
package 第二题;
import java.util.Random;
//定义一个长度为3的一维数组,给每个元素赋值. (要求数组中每个元素的值是0-9的随机数)
//遍历数组打印每个元素的值
/1.定义长度为3的数组
2.创建Random引用数据类型的变量
3.生成3个0-9的随机数,为每一个元素赋值(可以用循环,也可以不使用循环)
4.遍历数组,并打印每一个元素/
public class Test02 {
public static void main(String[] args) {
int[] arr=new int[3];
for(int i=0;i<arr.length;i++){
Random random=new Random();
int num=random.nextInt(10);
arr[i]=num;
}
for (int i=0;i<arr.length;i++){
System.out.println(arr[i]+" ");
}
}
}
package 第三题;
/已知数组int[] nums = {5,10,15},要求创建一个新数组
1.新数组的长度和已知数组相同
2.新数组每个元素的值 是已知数组对应位置元素的2倍
3.在控制台中打印新数组的所有元素
1.定义题目要求的已知数组
2.定义题目要求的新数组
3.根据条件为新数组中每个元素赋值
遍历新数组打印到控制台中/
public class Test03 {
public static void main(String[] args) {
int[] nums={5,10,15};
int[] arr=new int[3];
for(int i=0;i<arr.length;i++){
arr[i]=nums[i]*2;
}
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}
package 第四题;
import java.util.Random;
import java.util.Scanner;
//键盘录入一个整数,创建一个该长度的数组,为每一个元素赋值为1-10的随机整数,
// 最后打印数组中所有值大于5且为偶数的元素.
/1键盘录入一个整数
2定义长度为该整数的数组
3创建Random引用数据类型的变量
4生成5个0-9的随机数,为每一个元素赋值(建议用循环)
5 遍历数组,输出满足条件的元素/
public class Test04 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int length=scanner.nextInt();
int[] arr=new int[length];
for(int i=0;i<arr.length;i++){
Random random=new Random();
arr[i]=random.nextInt(11);
}
for (int i=0;i<arr.length;i++){
if(arr[i]>5&&arr[i]%2==0){
System.out.print(arr[i]+" ");
}
}
}
}
package 第五题;
import java.util.Random;
/将数字1-10保存到一个长度为10的一维数组中
定义一个新数组,长度为3,取出原来数组中随机三个元素(不考虑是否重复)
给新数组的元素赋值
求新数组所有元素的和/
public class Test05 {
public static void main(String[] args) {
int[] arr=new int[10];
for(int i=0;i<10;i++){
arr[i]=i+1;
}
int[] newarr=new int[3];
for(int i=0;i<newarr.length;i++){
Random random=new Random();
int index=random.nextInt(arr.length);
newarr[i]=arr[index];
}
int sum=0;
for(int i=0;i<newarr.length;i++){
System.out.println(newarr[i]);
sum+=newarr[i];
}
System.out.println(sum);
}
}
package 第六题;
/1.键盘录入班级人数
2.根据录入的班级人数创建数组
3.利用随机数产生0-100的成绩(包含0和100)
4.要求:
(1)打印该班级的不及格人数
(2)打印该班级的平均分
(3)演示格式如下:
请输入班级人数:
键盘录入:100
控制台输出:
不及格人数:19
班级平均分:87
1.创建键盘录入对象
2.定义int类型的变量num,并通过键盘录入给num赋值
3.创建int类型的数组,数组长度为num
4.创建Random对象
5.遍历数组
(1)随机产生[0-100]的值
(2)将随机产生的数值赋值给数组中的当前元素
6.定义变量count用于统计不及格学员数量,定义变量sum用于统计总分
7.遍历数组
(1)将当前元素的值累加到sum中
(2)判断当前元素的值如果<60,count++
8.打印不及格数量和平均分(sum/num)/
import java.util.Random;
import java.util.Scanner;
public class Test06 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.print(“请输入该班级人数:”);
int num=scanner.nextInt();
int[] arr=new int[num];
Random random=new Random();
for(int i=0;i<arr.length;i++){
int score=random.nextInt(101);
arr[i]=score;
}
int count=0;
int sum=0;
for(int i=0;i<arr.length;i++){
sum+=arr[i];
if(arr[i]<60){
count++;
}
}
int avg=0;
avg=sum/num;
System.out.println(“不及格人数:”+count);
System.out.println(“班级平均分:”+avg);
}
}
package 第七题;
import java.util.Scanner;
/*从键盘上输入10个整数,合法值为1、2或3,不是这3个数则为非法数字。试编程统计每个整数和非法数字的个数。
打印格式:
请输入10个整数:
1
2
3
3
2
1
3
3
5
6
数字1的个数:2
数字2的个数:2
数字3的个数:4
非法数字的个数:2
1.创建键盘录入对象
2.定义长度为10的int类型的数组
3.定义int类型的变量count1(统计1的个数)、count2(统计2的个数)、count3(统计3的个数)、count4(统计非法数字的个数)
4.利用for循环给数组元素赋值
5.利用for循环遍历数组
(1)获取当前元素
(2)使用if进行判断
a.如果等于1 count1++
b.否则,如果等于2 count2++
c.否则,如果等于3 count3++
d.否则 count4++
6.打印统计结果*/
public class Test07 {
public static void main(String[] args) {
// 1.创建键盘录入对象
Scanner sc = new Scanner(System.in);
// 2.定义长度为10的int类型的数组
int[] arr = new int[10];
// 3.定义int类型的变量count1(统计1的个数)、count2(统计2的个数)、count3(统计3的个数)、count4(统计非法数字的个数)
int count1 = 0,count2 = 0,count3 = 0,count4 = 0;
// 4.利用for循环给数组元素赋值
System.out.println(“请输入10个整数:”);
for(int i = 0;i < arr.length; i++) {
arr[i] = sc.nextInt();
}
// 5.利用for循环遍历数组
for(int i = 0;i < arr.length;i++) {
// (1)获取当前元素
int num = arr[i];
// (2)使用if进行判断
if(num == 1) { //a.如果等于1 count1++
count1++;
} else if(num == 2) {//b.否则,如果等于2 count2++
count2++;
} else if(num == 3) {//c.否则,如果等于3 count3++
count3++;
} else {//d.否则 count4++
count4++;
}
}
// 6.打印统计结果
System.out.println(“数字1的个数:” + count1);
System.out.println(“数字2的个数:” + count2);
System.out.println(“数字3的个数:” + count3);
System.out.println(“非法数字的个数:” + count4);
}
}
package 第八题;
import java.util.Scanner;
/*假设有一个长度为5的数组,数组元素通过键盘录入,如下所示:
int[] arr = {1,3,-1,5,-2}
要求:
创建一个新数组newArr[],新数组中元素的存放顺序与原数组中的元素逆序,并且如果原数组中的元素值小于0,
在新数组中按0存储。最后输出原数组和新数组中的内容
打印格式:
请输入5个整数:
1
3
-1
5
-2
原数组内容:
1 3 -1 5 -2
新数组内容:
0 5 0 3 1
1.创建键盘录入对象
2.定义长度为5的int类型的数组arr
3.利用for循环通过键盘录入给数组元素赋值
4.定义长度为5的int类型的新数组newArr,定义int类型的变量index=0,用来表示新数组的元素索引
5.倒着遍历原数组
(1)定义int类型的变量num,并将数组当前元素的值赋值给num
(2)使用if判断num的值
a.如果num>=0,直接将num赋值给新数组的当前元素,index++
b.否则直接将0复制给新数组的当前元素,index++
6.打印原数组和新数组的内容(利用for循环)*/
public class Test08 {
public static void main(String[] args) {
// 1.创建键盘录入对象
Scanner sc = new Scanner(System.in);
// 2.定义长度为5的int类型的数组arr
int[] arr = new int[5];
// 3.利用for循环通过键盘录入给数组元素赋值
System.out.println(“请输入5个整数:”);
for(int i = 0;i<arr.length;i++) {
arr[i] = sc.nextInt();
}
// 4.定义长度为5的int类型的新数组newArr,定义int类型的变量index=0,用来表示新数组的元素索引
int[] newArr = new int[5];
int index = 0;
// 5.倒着遍历原数组
for(int i = arr.length-1;i>=0;i–) {
// (1)定义int类型的变量num,并将数组当前元素的值赋值给num
int num = arr[i];
// (2)使用if判断num的值
if(num>=0) {//a.如果num>=0,直接将num赋值给新数组的当前元素,index++
newArr[index] = num;
// index++;
} else {
// b.否则直接将0复制给新数组的当前元素,index++
newArr[index] = 0;
// index++;
}
index++;
}
// 6.打印原数组和新数组的内容(利用for循环)
System.out.println(“原数组内容:”);
for(int i = 0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
System.out.println(“新数组内容:”);
for(int i = 0;i<newArr.length;i++) {
System.out.print(newArr[i]+" ");
}
System.out.println();
}
}
package 第九题;
import java.util.Scanner;
/*
假设一个简单的在ATM的取款过程如下:首先提示用户输入密码(password),
最多只能输入3次,超过3次则提示用户"密码错误,请取卡"交易结束。
如果用户密码正确,再提示用户输入金额(amount),ATM只能输出100元的纸币,一次取钱数要求最低0元,最高1000元。
如果用户输入的金额符合上述要求,则打印输出用户取的钱数,最后提示用户"交易完成,请取卡",否则提示用户重新输入金额。假设用户密码是"111111"。
分析:
1.创建键盘录入对象
2.定义boolean类型的变量isError(表示是否正确取款,初始值为true,表示取款失败)
3.利用for循环,循环录入密码(最多三次)
(1)定义String类型的变量password,并通过键盘录入给password赋值
(2)使用if判断password的值
a.如果password不等于111111,continue提前结束本次循环,继续进行下次密码的输入
b.如果password等于111111,进行取款操作
A.通过while循环录入取款金额
aa.定义int类型的变量amount,并通过键盘录入给amount变量赋值
bb.使用if判断,如果amount的值在0到1000之间
打印"取走现金XX元"
isError赋值为false
break;//取款成功,终止while循环
cc.如果amount的值不再0到1000之间
提示"您输入的取款金额有误,请重新输入:",while循环继续执行
4.使用if判断isError的值
(1)如果isError为true,打印"密码错误,请取卡"
(2)如果isError为false,打印"交易完成,请取卡"
*/
public class Test09 {
public static void main(String[] args) {
// 1.创建键盘录入对象
Scanner sc = new Scanner(System.in);
// 2.定义boolean类型的变量isError(表示是否正确取款,初始值为true,表示取款失败)
boolean isError = true;
System.out.print(“请输入密码:”);
// 3.利用for循环,循环录入密码(最多三次)
for(int i = 0;i<3;i++) {
// (1)定义String类型的变量password,并通过键盘录入给password赋值
String password = sc.nextLine();
// (2)使用if判断password的值
// a.如果password不等于111111,continue提前结束本次循环,继续进行下次密码的输入
if(!“111111”.equals(password)) {
System.out.print(“密码错误,请重新输入:”);
continue;
}
System.out.print(“请输入取款金额:”);
// b.如果password等于111111,进行取款操作
// A.通过while循环录入取款金额
while(true) {
// aa.定义int类型的变量amount,并通过键盘录入给amount变量赋值
int amount = sc.nextInt();
// bb.使用if判断,如果amount的值在0到1000之间
if(amount>=0&&amount<=1000) {
// 打印"取走现金XX元"
// isError赋值为false
// break;//取款成功,终止while循环
System.out.println(“请取走现金:”+ amount + “元”);
isError = false;
break;
}
// cc.如果amount的值不再0到1000之间
// 提示"您输入的取款金额有误,请重新输入:",while循环继续执行
System.out.print(“您输入的取款金额有误,请重新输入:”);
}
}
// 4.使用if判断isError的值
// (1)如果isError为true,打印"密码错误,请取卡"
if(isError) {
System.out.println(“密码错误,请取卡”);
} else {
// (2)如果isError为false,打印"交易完成,请取卡"
System.out.println(“交易完成,请取卡”);
}
}
}
最后
以上就是英勇小蝴蝶为你收集整理的第四天JAVASE简单题目的全部内容,希望文章能够帮你解决第四天JAVASE简单题目所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复