利用数组,随机数,循环,if语句 和布尔值来进行数组内数字的查找

1.题目:

定义一个长度为6的数组,使用随机数生成范围[10,30]之间的随机数,保存到数组元素中。再键盘录入一个整数number,查找数组中是否存在这个整数,如果有则输出这个数字在数组中的索引,如果有多个,则输出第一个出现的索引。如果没有,则提示该数字不存在于数组中。

2.切分题干w

定义一个长度为6的数组,使用随机数生成范围[10,30]之间的随机数,保存到数组元素中     

这一句我们能从中提取出 有关 动态初始化数组 任意随机数的使用

再键盘录入一个整数number

这里要运用到Scanner

Ⅲ 查找数组中是否存在这个整数

这里要运用到判断语句 ==

如果有则输出这个数字在数组中的索引,如果有多个,则输出第一个出现的索引。如果没有,则提示该数字不存在于数组中。

这里提示我们要用到if 输出语句 for循环

3.开写

1.首先我们先完成步骤Ⅰ

Random r = new Random();
int[] num = new int[6]; //定义一个长度为6的数组,动态初始化数组
for (int i = 0; i < num.length; i++) {
    int n = r.nextInt(21) + 10;
    num[i] = n;
    }//循环内完成将随机数存入数组的步骤

2.完成步骤Ⅱ

Scanner sc = new Scanner(System.in);
System.out.println("请输入一个在10到30中的数判断是否在随机数组中:");
int in = sc.nextInt();

ⅢⅣ    如何完成  如果有多个,则输出第一个出现的索引  这一题目要求   如果没有,则提示该数字不存在于数组中   

这里要用到一个可以被称为钓鱼的写法,先定义一个布尔值等于true 在循环判断中,如果首次出现数组的数与输入的数相等,就将布尔值改成false 并且加上break跳出循环,以达到输出第一个索引的需求

boolean choice = true;
for (int i = 0; i < num.length; i++) {
            if (in == num[i]) {
                System.out.println(i);
                choice = false;
                break;
            }
        }

在循环结束后如果输入数字不存在数组中,那么此时布尔值还是true , 这时便可以运用判断语句 来输出不存在于数组中这句话

if (choice) {
            System.out.println("该数字不在随机数组中.");
        }

这道题便完成了

完整代码如下

import java.util.Random;
import java.util.Scanner;

public class Test08 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Random r = new Random();
        int[] num = new int[6];
        for (int i = 0; i < num.length; i++) {
            int n = r.nextInt(21) + 10;
            num[i] = n;
        }
        System.out.println("请输入一个在10到30中的数判断是否在随机数组中:");
        int in = sc.nextInt();
        boolean choice = true;
        for (int i = 0; i < num.length; i++) {
            if (in == num[i]) {
                System.out.println(i);
                choice = false;
                break;
            }
        }
        if (choice) {
            System.out.println("该数字不在随机数组中.");
        }

        System.out.println("程序结束");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值