美文网首页java自学程序员
三、数组和语句综合练习题

三、数组和语句综合练习题

作者: 孙浩j | 来源:发表于2017-11-20 13:03 被阅读4次

1.实现出入不定数量参数,进行排序(考点:可变参数其实是把参数存到数组里)

/**
 * (double...d)表示可变参数,多少个参数都可以
 * @author Administrator
 *
 */
public class Max {
public static void main(String[]args){
    double m=max(1.1,5.2,8.3,55.4,6.4,8.5);
    System.out.println(m);
}

public static double max(double...d){
    double largest=0;
    for(double dl:d){
        if(dl>largest){
            largest=dl;
        }   
    }
    return largest;
    
}
}

2.抽奖

/**This program demonstrates array manipulation
 * 实现抽奖
 * 通过键盘输入从多少个数抽取多少个数
 * 将总数构建一个数组,为数组填满元素,数组长度为输入的总长度
 * 建立抽取多少个数的数组,数组长度为输入的想抽取的数,通过随机数乘总数得到数字
 * ,因为抽到的数字一定是总数里的数字,所以随机数乘总数作为总数数组里的索引,
 * 将索引值所得到的数填充到抽到的数字。
 * 为控制每次索引得到的不是同一个数,把索引过的索引到的数字替换为总数数组里的最后一个数,
 * 通过“索引位--”去除总数数组里的最后一个的索引位,
 * 其实不是真实去除,只是永远不会索引到,数组里还是存在的
 */

import java.util.*;
public class choujiang {
public static void main(String[] args){
    Scanner in=new Scanner(System.in);
    System.out.println("How many numbers do you want to draw?");
    int a=in.nextInt();
    System.out.println("What is the highest number you can draw");
    int b=in.nextInt();
    
    int []numbers=new int[a];                              //往数组装入总数字
    for(int i=0;i<numbers.length;i++){
        numbers[i]=i+1;
    }
    int []results=new int[b];                                   //往数组装入要选多少个
    for(int i=0;i<results.length;i++){
        int r=numbers[(int) (Math.random()*a)];               //得出中奖号码,让随机数不会出现去除数的索引
        results[i]=numbers[r];
        numbers[r]=numbers[a-1];               //将已经获取到的数变一个值,在获取此索引是获取的不是相同值
        a--;
    }
    
Arrays.sort(results);   
System.out.println(Arrays.toString(results));   
}
}

3.数三进一问题

/**
 * Test 数3退1的问题 
 * 建立一个500个孩子的布尔型数组,在里面为true,不再为false
 * 一开始500孩子都在里面,赋值true
 * 当剩下的孩子多于一个的时候进行循环
 * 如果孩子在里面,数的数加1;当数等于3是,把孩子设置为false就不在里面了
 * 退出如果语句,索引值增大,如果索引值等于数组长度,索引值归零重新循环
 * 多次循环后数组里只有一个值为true
 * 通过for循环,if判断true得出数组里的true值
 * @author Administrator
 *
 */
public class Count {
public static void main(String[]args){
Boolean [] a=new Boolean[500];
for(int i=0;i<a.length;i++){
    a[i]=true;
}
int leftcount=500;
int count=0;
int temp=0;
while(leftcount>1){
    if(a[temp]==true){
        count++;
        if(count==3){
            a[temp]=false;
            leftcount--;
            count=0;
        }
    }
    temp++;
    if(temp==500){
        temp=0;
    }
}
for(int i=0;i<500;i++){
    if(a[i]==true){
        System.out.println(i);
    }
}
}
}

相关文章

  • 三、数组和语句综合练习题

    1.实现出入不定数量参数,进行排序(考点:可变参数其实是把参数存到数组里) 2.抽奖 3.数三进一问题

  • python练习题

    1、简单的if判断语句 2、练习题 3、练习题 4、练习题 5、练习题 6、练习题 7、练习题 8、练习题 9、w...

  • 数组-遍历

    遍历:一次获取到数组中的每个元素 索引数组遍历 for(语句一;语句二;语句三){} 在语句一里声明一个变量等于0...

  • [Java初探实例篇02] __关于流程控制语句的实例练习

    本例就流程控制语句的应用方面,通过三个练习题来深入学习和巩固下学习的流程控制语句方面的知识,设计到,if条件判断语...

  • 7.27 mysql练习

    mysql练习题目: GROUP BY 语句 基本用法: GROUP BY 语句中的GROUP_CONCAT()函...

  • 11,银行卡

    任务目的 银行卡综合练习题

  • Kotlin 学习四

    一: 区间、数组、集合① 区间(或叫作范围) ② 数组 Array ③ 集合 二: for 循环语句 三:whil...

  • python中【while,for,break,continue

    循环语句 while 循环语句for 遍历数组 break 和continue 语句及循环中的else子句 pas...

  • Day. 04 for .switch.while.break.

    学习使用循环语句和选择语句,break和continue数组的定义和存储方式,和内存的分类 应该学会使用循环语句制...

  • C语言练习:if语句

    C语言练习题:if语句(12题) 下一篇: C语言练习题:循环部分 判定三角形类型 根据x的不同,输出不同的y 判...

网友评论

    本文标题:三、数组和语句综合练习题

    本文链接:https://www.haomeiwen.com/subject/szumvxtx.html