黑马基础测试题

来源:互联网 发布:淘宝客服销售话术大全 编辑:程序博客网 时间:2024/06/05 07:45
package com.itheima;/* *第1题: 定义一个二维int数组,编写代码获取最小元素。 */public class Test1{public static void main(String[] args) {// TODO Auto-generated method stubint[][] 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 stubSystem.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>  


0 0
原创粉丝点击