javaSE各阶段练习题--工具类-常用类-递归-包装类-内部类
生活随笔
收集整理的這篇文章主要介紹了
javaSE各阶段练习题--工具类-常用类-递归-包装类-内部类
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1 創(chuàng)建一個Student 類 包含屬性有 序號 姓名 年齡 生日 提供對應的setter/getter創(chuàng)建對象,完成賦值(setter賦值和構造方法賦值) 在控制臺輸出學生對象的信息,要求生日的格式為yyyy-MM-dd
2 根據上一題, 在學生類中添加一個方法,完成 返回 學生在10歲生日時的日期
一二題我放在了一起
*學生類:
public class Student {private int id;private String name;private int age;private String str_time;public Student() {}public Student(int id, String name, int age, String str_time) {super();this.id = id;this.name = name;this.age = age;this.str_time = str_time;}public String tenStr() {this.setStr_time("2007-10-27"); return this.toString();}public int getId() {return id;}public void setId(int id) {this.id = id;}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 String getStr_time() {return str_time;}public void setStr_time(String str_time) {this.str_time = str_time;}@Overridepublic String toString() {return "Student [id=" + id + ", name=" + name + ", age=" + age + ", str_time=" + str_time + "]";}
}
*實現(xiàn)類
public static void main(String[] args) {//自定義格式化日期SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String string = "1997-10-27";Date date;try {//將String字符串轉化為日期date = sdf.parse(string);//再將date格式化為日期字符串String str_time = sdf.format(date);Student stu = new Student(10001, "李孟冬", 22, str_time);System.out.println(stu);System.out.println(stu.tenStr());} catch (ParseException e) {e.printStackTrace();}}3 做一個計算器類,對浮點數(shù)進行 加減乘除的精確運算
*實現(xiàn)類
public static void main(String[] args) {BigDecimal big1 = new BigDecimal("1.015");BigDecimal big2 = new BigDecimal("0.32"); Calculator calc = new Calculator(big1,big2);System.out.println("和是="+calc.jia()+",減是="+calc.jian()+",乘是="+calc.cheng()+",除是="+calc.chu());//和是=1.335,減是=0.695,乘是=0.32480,除是=3.171875}
*計算機類
import java.math.BigDecimal;public class Calculator {private BigDecimal big1;private BigDecimal big2;public Calculator() {}public Calculator(BigDecimal big1, BigDecimal big2) {this.big1 = big1;this.big2 = big2;}public BigDecimal jia() {return big1.add(big2);//加操作}public BigDecimal jian() {return big1.subtract(big2);//減操作}public BigDecimal cheng() {return big1.multiply(big2);//乘}public BigDecimal chu() {return big1.divide(big2);//除}
}4 練習使用Math中的各個方法
public static void main(String[] args) {//Math類中的各種方法System.out.println("-10的絕對值:" + Math.abs(-10));//-10的絕對值:10System.out.println("大于2.5的最小整數(shù)是:" + Math.ceil(2.5));//大于2.5的最小整數(shù)是:3.0System.out.println("小于2.5的最大整數(shù)是:" + Math.floor(2.5));//小于2.5的最大整數(shù)是:2.0System.out.println("5和6的較大值:" + Math.max(5, 6));//5和6的較大值:6System.out.println("5和6的較小值:" + Math.min(5, 6));//5和6的較小值:5System.out.println("6.5的四舍五入后是:" + Math.round(6.5));//6.5的四舍五入后是:7
System.out.println("-6.5的四舍五入后是:" + Math.round(-6.5));//-6.5的四舍五入后是:-6System.out.println("36的平方根是:" + Math.sqrt(36));//36的平方根是:6.0System.out.println("2的3次冪是:" + Math.pow(2, 3));//2的3次冪是:8.0for (int i = 0; i < 5; i++) {System.out.println("隨機數(shù)" + (i + 1) + "->" + Math.random());}/** 隨機數(shù)1->0.9094976195573719隨機數(shù)2->0.5040376820834734隨機數(shù)3->0.12880762009410474隨機數(shù)4->0.8517037646578218隨機數(shù)5->0.4827350479237612*/}5 使用Math 類 和 Random類 兩種方式生成 20 到30之間的隨機整數(shù)
public static void main(String[] args) {//Math方法 x即為[20,30]的整數(shù)。int x = (int)(20+Math.random()*11);//Random方法 y即為[20-30]的整數(shù)Random r = new Random();int y = 20 + (r.nextInt(11)); }6.方法一:
package com.henu;public class Test07_03 {public static void main(String[] args) {diGui(5);}static int a = 1;private static void diGui(int n) {//行數(shù)n if (n <= 0) {//當行數(shù)n<=0時,遞歸結束???return;//return 0; 代表的是遞歸結束嗎?并沒有它是返回上一層被調函數(shù),//然后被調函數(shù)執(zhí)行的直接是最后一行也就是下一步就是有大括號,所以遞歸循環(huán)結束。}for (int i = 1; i <= n-1; i++) {System.out.print(" ");}for (int i = 1; i <= a; i++) {System.out.print("* ");}System.out.println();a++;diGui(n-1);}
}方法二:
public class Test07_04 {public static void main(String[] args) {diGui(6);}static int a = 1;public static void diGui(int n) {if (n <= 0) {return;}diGuiKongGe(n-1);diGuiXing(a);System.out.println();a++;diGui(n-1);}public static void diGuiKongGe(int k) {if (k <= 0) {return;}System.out.print(" ");diGuiKongGe(k-1);}public static void diGuiXing(int x) {if (x <= 0) {return;}System.out.print("* ");diGuiXing(x-1);}
}
?
總結
以上是生活随笔為你收集整理的javaSE各阶段练习题--工具类-常用类-递归-包装类-内部类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javaSE各阶段练习题--面向对象-多
- 下一篇: 使用dbcp连接池创建进行表的增删改查