黑马程序员技术交流社区
标题:
技术 blog04 by 八戒
[打印本页]
作者:
八戒
时间:
2015-6-7 14:42
标题:
技术 blog04 by 八戒
今天给大家分享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秒
import java.util.ArrayList;
/**
* Created by Administrator on 2015/6/7 0007.
*/
//题目1:编写程序去除数组的重复数据,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
public class Test1 {
public static void main(String[] args){
int arr[] = {4,2,4,6,1,2,4,7,8};
method(arr);
}
public static void method(int arr[]){
//创建两个容器
ArrayList<Integer> list = new ArrayList<Integer>();
ArrayList<Integer> list2 = new ArrayList<Integer>();
//遍历数组并且将数组的值添加到容器中
for (int i=0;i<arr.length;i++){
list.add(arr[i]);
}
//下面为程序的核心代码,用增强for循环并逐个判断的方法检索元素
for (Integer j:list){
//在调用list2的contains方法时,会依次用集合中的每一个list2对象的equals方法与j相比较
if (!list2.contains(j)){
list2.add(j);
}
}
System.out.print("去除重复元素的数组为:");
System.out.println(list2);
}
}
/**
* Created by Administrator on 2015/6/7 0007.
*/
//题目2:定义一个二维int数组,编写代码获取最小元素
public class Test2 {
public static void main(String[] args){
//定义一个二维数组并赋值
int arr[][] = {{15,13,11}, {21, 26, 9}, {17,8,12}};
System.out.print("该数组最小的值为:");
//将过程封装为一个method方法
int num = method(arr);
System.out.println(num);
}
public static int method(int arr[][]){
int min = arr[0][0];
//遍历二维数组并逐个比较如果当前值小于给定的min,将当前的值赋给min
for (int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
if (arr[i][j]<min){
min=arr[i][j];
}
}
}
return min;
}
}
import java.util.Scanner;
/**
* Created by Administrator on 2015/6/7 0007.
*/
/*题目3:从键盘接受一个数字,打印该数字表示的时间,最大单位到天,例如:
键盘输入6,打印6秒;
键盘输入60,打印1分;
键盘输入66,打印1分6秒;
键盘输入666,打印11分6秒;
键盘输入3601,打印1小时1秒
*/
public class Test3 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);//创建输入流对象
Integer num = sc.nextInt();
method(num);
}
public static Integer method(Integer num){
//创建并初始化时分秒
int h=0,min=0,sec=0;
//通过给定的值来算相应的时分秒
h=num/3600;
min=(num-h*3600)/60;
sec=num%60;
//判断并打印
if(h>0&&min>0&&sec>0){
System.out.print("键盘输入"+num+","+"打印"+h+"小时"+min+"分"+sec+"秒");
}
if(h>0&&min==0&&sec>0){
System.out.print("键盘输入"+num+","+"打印"+h+"小时"+sec+"秒");
}
if(h==0&&min>0&&sec>0){
System.out.print("键盘输入"+num+","+"打印"+min+"分"+sec+"秒");
}
if(h>0&&min>0&&sec==0){
System.out.print("键盘输入"+num+","+"打印"+h+"小时"+min+"分");
}
if(h>0&&min==0&&sec==0){
System.out.print("键盘输入"+num+","+"打印"+h+"小时");
}
if(h==0&&min>0&&sec==0){
System.out.print("键盘输入"+num+","+"打印"+min+"分");
}
if(h==0&&min==0&&sec>0){
System.out.print("键盘输入"+num+","+"打印"+sec+"秒");
}
System.out.println(h+","+min+","+sec);
return 1;
}
}
复制代码
作者:
南朝小和尚
时间:
2015-6-7 20:22
感觉第三题的if判读有点罗嗦,应该可以优化一下.....................................
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2