黑马程序员-JAVA基础测试题(6-10)
2015-08-20 14:33
357 查看
————– android培训、java培训、java学习型技术博客、期待与您交流! ———–
6、 在打印语句中如何打印这3个x变量?
7、 编程打印所有的3位质数,质数特点:只能被1和其本身整除
8、 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
9、 求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×…×999×1000
10、声明类Student,包含3个成员变量:name、age、score,创建5个对象装入TreeSet,
按照成绩排序输出结果(考虑成绩相同的问题)。
————– android培训、java培训、java学习型技术博客、期待与您交流! ———–
6、 在打印语句中如何打印这3个x变量?
class Test6 { public static void main(String[] args) { //创建内部类B的对象 A.B ab = new A().new B(); //调用内部类B的方法输出结果 ab.func(); } } class A { int x = 1; class B { int x = 2; void func() { int x = 3; System.out.println("内部类B的局部变量x="+x+"\n内部类B的成员变量x="+this.x+"\n外部类A的成员变量x="+A.this.x); } } }
7、 编程打印所有的3位质数,质数特点:只能被1和其本身整除
public class Test7 { public static void main(String[] args) { int num;//定义变量num和x int x; for (num = 1; num < 1000; num++)//遍历1到999所有的数 { for (x = 2; x <= num / 2; x++) //遍历所有的除数。除数只取到被除数一半 { if (num % x == 0)//如果有能被整除的跳过打印这个数 break; } if (x > num / 2) //如果除数到遍历完了则说明这个数是质数 System.out.print(num + ",");//打印,为了方便阅读中间用“,”分割 } } }
8、 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
import java.util.Arrays; import java.util.LinkedHashSet; public class Test8 { public static void main(String[] args) { //1.创建一个数组 Integer[] arr ={4,2,4,6,1,2,4,7,8}; //2.利用LinkedHashSet的"元素不可重复"特性去除重复元素(使用链表结构的集合主要是为了让数组元素的前后位置关系不发生变化) LinkedHashSet<Integer> set = new LinkedHashSet<Integer>(); for(Integer temp:arr){ set.add(temp); } //3.把集合转换成数组 arr = set.toArray(new Integer[0]); //4.输出去除重复元素后的数组元素 System.out.print(Arrays.toString(arr)); } }
9、 求1000!的结果中包含多少个0?注:1000! = 1×2×3×4×5×…×999×1000
import java.math.BigInteger; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test9 { public static void main(String ars[]) { Test9 test9 = new Test9(); test9.jieCheng(1000); } //将阶乘的数学运算原理封装成对象 public void jieCheng(int number) { //创建一个大数对象 BigInteger res = new BigInteger("1"); //利用循环计算1000!的值 for (int i = 1; i <= number; i++) { BigInteger num = new BigInteger(String.valueOf(i)); // 相当于res * = num;,但是大数不是基本数据类型,不能使用*运算符,用独有的方法 res = res.multiply(num); } //将获得的值转成字符串 String str = res.toString(); //调用方法,获取res中一共有多少个0 int zeroNum = zeroNum(str); //输出结果 System.out.println(number + "的阶乘为:" + "\n" + str); System.out.println(number + "的阶乘中所有的0的个数:" + zeroNum); } // 求阶乘结果所有的0的个数 public int zeroNum(String str) { int count = 0; String regex = "0"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(str); while (m.find()) { count++; } return count; } }
10、声明类Student,包含3个成员变量:name、age、score,创建5个对象装入TreeSet,
按照成绩排序输出结果(考虑成绩相同的问题)。
import java.util.*; //定义一个Student类 class Student implements Comparable{ String name; int age; int score; //构造方法 Student(String name,int age,int score){ this.name=name; this.age=age; this.score=score; } //按顺序输出时的比较方法 public int compareTo(Object o){ Student stu = (Student) o; //先按照分数比较,分数相同按照名字 if(this.score>stu.score) return 1; else if(this.score<stu.score) return -1; else if(this.name.compareTo(stu.name)>0) return 1; else if(this.name.compareTo(stu.name)<0) return -1; return 0; } //覆写toString方法 public String toString(){ return this.name+','+this.age+','+this.score+'\n'; } } public class Test10 { public static void main(String[] args){ //声明TreeSet TreeSet tr = new TreeSet(); tr.add(new Student("A",21,89)); tr.add(new Student("B",27,88)); tr.add(new Student("C",23,95)); tr.add(new Student("D",20,84)); tr.add(new Student("E",25,88)); System.out.print(tr); } }
————– android培训、java培训、java学习型技术博客、期待与您交流! ———–
相关文章推荐
- #无私分享《传智播客2011版。net平台c#视频》全套哦30.7G
- 黑马程序员---Java面向对象编程思想小结
- 黑马程序员---java面向抽象/接口编程
- 黑马程序员---java单例设计模式
- 黑马程序员---java字符串常用类
- 黑马程序员宣传语征集大赛
- 黑马程序员-------关于今天的一个程序学习心得
- 黑马程序员----把Eclipse修改为黑色主题颜色方案
- c基础语法(一)---流程控制与函数
- C基础语法(二)---复杂数据类型(数组和字符串)
- C基础语法(三)---复杂数据类型(指针)
- OC基础语法(三)---核心语法(1)
- OC基础语法(四)---核心语法(2)
- OC基础语法(五)---内存管理
- OC基础语法(六)---内存管理(二)
- OC基础语法(七)---Foundation框架
- 黑马程序员
- 程序员常用英语大集合 http://bbs.itheima.com/thread-118950-1-1.html (出处: 黑马程序员IT技术论坛)
- IO(输入输出流) 4000
- 黑马程序员_多线程(1)