黑马基础测试题
2014-03-21 20:25
337 查看
package com.itheima; /* *第1题: 定义一个二维int数组,编写代码获取最小元素。 */ public class Test1 { public static void main(String[] args) { // TODO Auto-generated method stub int[][] a = {{1,2,3},{2,3,4},{0,1,2},{3,4,5}};//定义一个二维int数组 int min=a[0][0];//定义一个变量min,并赋初值 //通过循环比较,得到最小值 for(int i=0;i<a.length;i++) { for(int j=0;j<a[i].length;j++) { if(a[i][j]<min) { min=a[i][j]; } } } //打印输出最小值 System.out.println("min="+min); } }
package com.itheima; /* *第2题:从键盘接受一个数字,列出该数字的中文表示格式 *例如: *键盘输入123,打印出一二三 *键盘输入3103,打印出三一零三 */ import java.io.*; public class Test2 { public static void main(String[] args) { BufferedReader br=null;//引用变量 BufferedWriter bw=null;//引用变量 try { //创建输入流 br=new BufferedReader(new InputStreamReader(System.in)); //创建输出流 bw=new BufferedWriter(new OutputStreamWriter(System.out)); //建立数组,0-9的角标对应数组内容 char[] arr={'零','一','二','三','四','五','六','七','八','九'}; String s=null; while ((s=br.readLine())!=null) { //将读取的字符串转换成字符数组 char[] arr1=s.toCharArray(); for (int i = 0; i < arr1.length; i++) { //将对应‘1’字符的AScII码值转换成字符串,通过parseint方法转换成int类型数值 int index=Integer.parseInt(new String(new char[]{arr1[i]})); bw.write(arr[index]); bw.flush(); } } } //异常处理 catch (IOException e) { System.out.println(e.toString()); } finally { if(br!=null) try { br.close(); } //异常处理 catch (IOException e1) { throw new RuntimeException("输入流关闭失败"); } if(bw!=null) try { bw.close(); } //异常处理 catch (IOException e2) { throw new RuntimeException("输出流关闭失败"); } } } }
package com.itheima; /* * 第3题: 以下代码哪个是正确的?为什么? *a. byte b = 1 + 1; *b. byte b = 1; b = b + 1; *c. byte b = 1; b = b += 1; *d. byte b = 1; b = ++b; */ /*答案 * a正确,定义byte类型的变量时,会自动将右边的数值自动完成了强转 * b错误,编译失拜。这是数据类型类型转换,b是byte型,1默认是int类型的,运算结果是int类型的,赋值给byte类型的b变量可能损失精度。 * c正确,首先,byte b = 1;实际上这个值是编译器先进行了一次检查,范围在byte范围内,则编译通过, *同时将1这个int类型的值在底层转化为了byte类型赋给了b; *再说说b = b += 1;这个运算是将b += 1的计算结果赋给了b,所以我们只说b += 1的运算过程就行了, *b += 1,其实等价于 b = (byte)(b+1);底层会对这个结果进行强转的,所以它编译的时候没事 * d正确,先进行++b的运算,再把运算后的结果赋给b,++b计算后是一个int类型的, *不管结果等于多少,底层会进行一个强转,也就是说++b就相当于 b = (byte)(b+1),所以这个编译也没有问题 */ public class Test3 { public static void main(String[] args) { } }
package com.itheima; /* * 第4题:创建ArrayList对象,添加5个元素,使用Iterator遍历输出 */ import java.util.ArrayList; import java.util.Iterator; public class Test4 { public static void main(String[] args) { //创建ArrayList对象 ArrayList<String> al = new ArrayList<String>(); //添加5个元素 al.add("zhangsan"); al.add("lisi"); al.add("wangwu"); al.add("tianqi"); al.add("zhaoba"); //获取迭代器 Iterator<String> it = al.iterator(); //遍历取出元素 while(it.hasNext()) { String el = it.next(); System.out.println(el); } } }
package com.itheima; /* * 第5题: 编写程序接收键盘输入的5个数,装入一个数组,并找出其最大数和最小数。 */ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Test5 { public static void main(String[] args) { //获取键盘录入 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] arr = new int[5]; int max=0; int min=0; for(int i=0;i<arr.length;i++) { min = arr[0]; try { System.out.println("请输入第"+(i+1)+"个数:"); //将输入字符转换成十进制整数存入数组 arr[i] = Integer.parseInt(br.readLine()); } catch(IOException e) { e.printStackTrace(); } //获取最大值 if(arr[i]>max) max = arr[i]; //获取最小值 if(arr[i]<min) min = arr[i]; } System.out.println("max = "+max); System.out.println("min = "+min); } }
package com.itheima; /* * 第6题: 编写一个可以获取文件扩展名的函数,形参接收一个文件名字符串,返回一个扩展名字符串。 * * 思路:1、通过键盘录入获取文件名字符串 * 2、通过substring(path.lastIndexOf(".")+1)方法截取扩展名字串 */ import java.io.*; public class Test6 { public static void main(String[] args)throws IOException { System.out.println("请从键盘上随便输入一个带扩展名的文件名"); //键盘录入输入流 BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); //获取文件名 String s=br.readLine(); //打印输出扩展名 System.out.println(getPath(s)); } //获取扩展名方法 public static String getPath(String path) { return path==null||path.lastIndexOf(".")==-1?null:path.substring(path.lastIndexOf(".")+1); } }
package com.itheima; /* * 第7题: 声明类Student,包含3个成员变量:name、age、score, * 要求可以通过 new Student("张三", 22, 95) 的方式创建对象, * 并可以通过set和get方法访问成员变量 */ public class Test7 { public static void main(String[] args) { //建立张三学生对象 Student s = new Student("张三",22,95); System.out.println("更改前信息:"); //打印张三信息 System.out.println("姓名="+s.getName()); System.out.println("年龄 = "+s.getAge()); System.out.println("分数 = "+s.getScore()); //修改为李四信息 s.setName("李四"); s.setAge(28); s.setScore(59); System.out.println("更改后信息:"); //打印李四信息 System.out.println("姓名="+s.getName()); System.out.println("年龄 = "+s.getAge()); System.out.println("分数 = "+s.getScore()); } } class Student { private String name; private int age; private int score; //Student构造函数 Student(String name,int age,int score) { this.name = name; this.age = age; this.score = score; } //获取姓名 public String getName() { return name; } //设置姓名 public void setName(String name) { this.name = name; } //获取年龄 public int getAge() { return age; } //设置年龄 public void setAge(int age) { this.age = age; } //获取分数 public int getScore() { return score; } //设置分数 public void setScore(int score) { this.score = score; } }
package com.itheima; /* * 第8题:编程列出一个字符串的全字符组合情况,原始字符串中没有重复字符 * 例如 *原始字符串是"abc",打印得到下列所有组合情况 * "a" "b" "c" * "ab" "bc" "ca" "ba" "cb" "ac" * "abc" "acb" "bac" "bca" "cab" "cba" * * 思路:用递归思想获取满足条件的字符串 */ import java.util.ArrayList; import java.util.Arrays; public class Test8 { //创建字符串数组 private String[] array = {"a","b","c"}; public static void main(String[] args) { new Test8().execute(); } public void execute() { ArrayList<String> list = new ArrayList<String>(); //创建包含字符串数组内容的list集合 list.addAll(Arrays.asList(array)); for (int len = 1; len <= 3; len++) { combination(list, "", len); } } //用递归打印出满足条件字符串 public void combination(ArrayList<String> list, String result, int len) { for (int i = 0; i < list.size(); i++) { String str = list.get(i); result += str; if (result.length() == len) { System.out.println(result); } else { ArrayList<String> copylist = (ArrayList<String>) list.clone(); copylist.remove(str); combination(copylist, result, len); } result = result.substring(0, result.length() - 1); } } }
package com.itheima; /* * 第9题: 编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期, * 程序计算这一天是星期几,并且计算出是一年中的第几天。 */ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Test9 { public static void main(String[] args) throws ParseException, IOException { System.out.println("Please input a date as yyyy-MM-dd format"); //获取键盘录入 String input = new BufferedReader(new InputStreamReader(System.in)).readLine(); //用给定的模式和日期符号构造 SimpleDateFormat SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //把输入字符串解释为日期和时间的表示形式,返回指示的时间 Date date = format.parse(input); //定义一个日历对象c Calendar c = Calendar.getInstance(); // 将日历字段设置为给定值 c.setTime(date); System.out.println("Your input date is :" + date.toString()); System.out.println("it's " + c.get(Calendar.DAY_OF_YEAR) + " th day in this year"); } }
package com.itheima; /* * 10、 编写HTML注册表单,需要字段: 用户名、密码、确认密码,、性别(单选)、 兴趣爱好(多选)、 * 城市(下拉列表)、 个人简介(文本域),使用JavaScript验证这个表单,要求: * 1、 用户名:字母数字或下划线10位以内,只能以字母开头 * 2、密码:6-16位任意字符 * 3、确认密码:和密码保持一致. * 4、其他项为必填 * */ public class Test10 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("表单代码在下面注释中" + "另外面有个HTML注册表单.html文件"); } } <html> <head> <title>HTML注册表单</title> </head> <body> <form action="" method="post" onsubmit="return sub()" name=form> 用户名:<input type="text" name="username" value="" /><br> 密码 <input type="password" name="password" value="" /><br> 确认密码:<input type="password" name="repassword" value="" /><br> 性别:<input type="radio" name="sex" value="0" checked=”default” />男 <input type="radio" name="sex" value="1" />女<br> 城市: <select name="city"> <option value="0">郑州</option> <option value="1">上海</option> <option value="2">天津</option> <option value="3">深圳</option> </select><br> 兴趣爱好:<input type="checkbox" name="read" value="0" />阅读 <input type="checkbox" name="travel" value="1" />旅游 <input type="checkbox" name="Internet" value="2" />上网 个人简介: <textarea rows="5" cols="30" name="readme"></textarea> <br> <input type="submit" value="提交"/> </form> </body> </html> <script type="text/javascript"> function sub (){ if(!(/^[a-zA-Z_]{1}[a-zA-Z_0-9]*$/.test(form.username.value))){ alert("用户名必须是字母数字或下划线, 不能以数字开头!"); return false; }else if(!(/[a-zA-Z_0-9]{6,16}/.test(form.password.value))){ alert("密码 6-16位字母数字下划线!"); return false; }else if(form.repassword.value != form.password.value){ alert("两次输入密码应一致!"); return false; }else if(form.sex[0].checked==false && form.sex[1].checked==false){ alert("性别不能为空!"); return false; }else if(form.city. checked == false){ alert("城市不能为空!"); return false; } else if(form.read.checked == false && form.travel.checked == false && form.Internet.checked == false){ alert("兴趣爱好不能为空!"); return false; } else if(form. readme. checked == false){ alert("个人简介不能为空!"); return false; } else{ return true; } } </script>
相关文章推荐
- C语言学习第八天—黑马基础测试题分析
- 黑马基础测试题整理
- 我的黑马基础测试题
- 黑马基础测试题(一)
- 黑马基础测试题:编写程序,打印1到100之内的整数,但数字中包含7的要跳过,例如:17、27、71、72
- 黑马程序训练营入学基础测试题
- 黑马程序员------黑马基础测试题参考
- 一道黑马基础测试题-------我是菜鸟,不知道做的怎么样,请各位斧正
- Java程序基础测试题
- Java入门测试题,测测你基础知识掌握程度(附答案)
- C语言深度解剖读书笔记之——C语言基础测试题
- PHP 基础知识测试题 答案分析
- js基础测试题学习笔记20170305
- 黑马入学测试题
- 【备忘】2016年黑马android安卓74期完整实战开发基础就业视频
- 黑马程序员-OC语言基础:面向对象语法 一
- 黑马作业(基础班d25)io流的练习(2)
- 黑马日记第一篇——java基础知识
- UI基础-iOS黑马-UITableView4常见属性!-
- 《C语言深度剖析》笔记之C语言基础测试题