A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 八戒 中级黑马   /  2015-6-7 14:42  /  749 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天给大家分享3道基础题,新手可以练习练习,题目来自于黑马版主最近的活动......最主要还是希望和大家交流交流

题目1:编写程序去除数组的重复数据,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
题目2:定义一个二维int数组,编写代码获取最小元素。
题目3:从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
           键盘输入6,打印6秒;
           键盘输入60,打印1分;
           键盘输入66,打印1分6秒;
           键盘输入666,打印11分6秒;
           键盘输入3601,打印1小时1秒

  1. import java.util.ArrayList;

  2. /**
  3. * Created by Administrator on 2015/6/7 0007.
  4. */
  5. //题目1:编写程序去除数组的重复数据,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
  6. public class Test1 {
  7.     public static void main(String[] args){
  8.         int arr[] = {4,2,4,6,1,2,4,7,8};
  9.         method(arr);
  10.     }
  11.     public static void method(int arr[]){
  12.         //创建两个容器
  13.         ArrayList<Integer> list = new ArrayList<Integer>();
  14.         ArrayList<Integer> list2 = new ArrayList<Integer>();
  15.         //遍历数组并且将数组的值添加到容器中
  16.         for (int i=0;i<arr.length;i++){
  17.             list.add(arr[i]);
  18.         }
  19.         //下面为程序的核心代码,用增强for循环并逐个判断的方法检索元素
  20.         for (Integer j:list){
  21.             //在调用list2的contains方法时,会依次用集合中的每一个list2对象的equals方法与j相比较
  22.             if (!list2.contains(j)){
  23.                 list2.add(j);
  24.             }
  25.         }
  26.         System.out.print("去除重复元素的数组为:");
  27.         System.out.println(list2);
  28.     }
  29. }


  30. /**
  31. * Created by Administrator on 2015/6/7 0007.
  32. */
  33. //题目2:定义一个二维int数组,编写代码获取最小元素
  34. public class Test2 {
  35.     public static void main(String[] args){
  36.         //定义一个二维数组并赋值
  37.         int arr[][] = {{15,13,11}, {21, 26, 9}, {17,8,12}};
  38.         System.out.print("该数组最小的值为:");
  39.         //将过程封装为一个method方法
  40.         int num = method(arr);
  41.         System.out.println(num);
  42.     }
  43.     public static int method(int arr[][]){
  44.         int min = arr[0][0];
  45.         //遍历二维数组并逐个比较如果当前值小于给定的min,将当前的值赋给min
  46.         for (int i=0;i<arr.length;i++){
  47.             for(int j=0;j<arr[i].length;j++){
  48.                 if (arr[i][j]<min){
  49.                     min=arr[i][j];
  50.                 }
  51.             }
  52.         }
  53.         return min;
  54.     }
  55. }


  56. import java.util.Scanner;

  57. /**
  58. * Created by Administrator on 2015/6/7 0007.
  59. */
  60. /*题目3:从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
  61.         键盘输入6,打印6秒;
  62.         键盘输入60,打印1分;
  63.         键盘输入66,打印1分6秒;
  64.         键盘输入666,打印11分6秒;
  65.         键盘输入3601,打印1小时1秒
  66. */
  67. public class Test3 {
  68.     public static void main(String[] args){
  69.         Scanner sc = new Scanner(System.in);//创建输入流对象
  70.         Integer num = sc.nextInt();
  71.         method(num);
  72.     }
  73.     public static Integer method(Integer num){
  74.         //创建并初始化时分秒
  75.         int h=0,min=0,sec=0;
  76.         //通过给定的值来算相应的时分秒
  77.         h=num/3600;
  78.         min=(num-h*3600)/60;
  79.         sec=num%60;
  80.         //判断并打印
  81.         if(h>0&&min>0&&sec>0){
  82.             System.out.print("键盘输入"+num+","+"打印"+h+"小时"+min+"分"+sec+"秒");
  83.         }
  84.         if(h>0&&min==0&&sec>0){
  85.             System.out.print("键盘输入"+num+","+"打印"+h+"小时"+sec+"秒");
  86.         }
  87.         if(h==0&&min>0&&sec>0){
  88.             System.out.print("键盘输入"+num+","+"打印"+min+"分"+sec+"秒");
  89.         }
  90.         if(h>0&&min>0&&sec==0){
  91.             System.out.print("键盘输入"+num+","+"打印"+h+"小时"+min+"分");
  92.         }
  93.         if(h>0&&min==0&&sec==0){
  94.             System.out.print("键盘输入"+num+","+"打印"+h+"小时");
  95.         }
  96.         if(h==0&&min>0&&sec==0){
  97.             System.out.print("键盘输入"+num+","+"打印"+min+"分");
  98.         }
  99.         if(h==0&&min==0&&sec>0){
  100.             System.out.print("键盘输入"+num+","+"打印"+sec+"秒");
  101.         }
  102.         System.out.println(h+","+min+","+sec);
  103.         return 1;
  104.     }
  105. }
复制代码






1 个回复

正序浏览
感觉第三题的if判读有点罗嗦,应该可以优化一下.....................................
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马