題目:
第一題:補全代碼 1、已知有一個接口: interface Inter{ void show();//默認修飾符爲public abstract } 2、已知一個類如下: class Outer{ //根據下面的OuterDemo測試類的方法調用和輸出結果,補全Outer類中的代碼使測試類中的輸出成立。 } public class OuterDemo { public static void main(String[] args) { Outer.method().show();//輸出HelloWorld } } 第二題:有如下代碼,請說出輸出結果 class Person{ public void eat(){ System.out.println("在吃飯.."); } public void run(){ System.out.println("在跑.."); } } interface Dao{ public void add(); } class Outer{ //在Outer中定義print()方法 public void print(){ //繼承關係下的匿名內部類 new Person(){ //匿名內部類的成員 public void sleep(){ System.out.println("在睡覺.."); } }.eat(); } //在Outer中定義show()方法 public void show(){ //這裏創建的不是Dao接口的對象,創建的是Dao接口實現類的對象。 new Dao(){ public void add(){ System.out.println("添加成功.."); } }.add(); } } //測試了 public class OuterDemo{ public static void main(String[] args){ Outer outer = new Outer(); outer.print(); outer.show(); } } 第三題:代碼補全 interface Product{ public double getPrice(); public String getName(); } public class AnonymousTest { public void test(Product p){ System.out.println("購買了一個"+p.getName()+",花掉了"+p.getPrice()); } public static void main(String[] args) { AnonymousTest ta= new AnonymousTest(); //補全代碼:調用AnonymousTest的test方法,使之打印"購買了一個小米手機,花掉了2999元。提示:使用匿名內部類實現 } } 第四題:生成一個隨機100內小數,轉換爲保留兩位小數的字符串,不考慮四捨五入的問題。 打印效果如下: 隨機數爲: 86.217840985496 轉換爲: 86.21 提示:將隨機數結果轉換成String字符串,查閱String類進行字符串截取即可 第五題:不運行說出下面代碼的運行結果 public class ToStringTest{ static int i = 1; public static void main(String args[]){ System.out.println("love " + new ToStringTest());//love java ToStringTest a = new ToStringTest(); a.i++; System.out.println("me " + a.i);//me 2 } public String toString(){ System.out.print("I ");//I return "java "; } } 第六題: 定義一個Student類,有private修飾的name和age成員變量,生成空參和有參構造方法,get/set方法。 寫一個StudentTest測試類,創建兩個Student對象,如果對象的name和age一樣,那麼則認爲是同一個人,比較結果爲true。 第七題:嘗試使用冒泡排序對下面的數組進行降序排序 int[] arr={24,69,80,57,13};
答案:
第一題:
package com.homework.homework_1;
interface Inter {
void show();//默認修飾符爲public abstract
}
package com.homework.homework_1;
public class Outer {
/*
兩個明確:
返回值類型:
參數列表: 無參
*/
public static Inter method(){
return new Inter() {
@Override
public void show() {
System.out.println("HelloWorld");
}
};
}
}
package com.homework.homework_1;
public class OuterDemo {
public static void main(String[] args) {
Outer.method().show();//輸出HelloWorld
}
}
第三題:
package com.homework.homework_3;
interface Product {
public double getPrice();
public String getName();
}
package com.homework.homework_3;
public class AnonymousTest {
public void test(Product p) {
System.out.println("購買了一個" + p.getName() + ",花掉了" + p.getPrice()+"元");
}
public static void main(String[] args) {
AnonymousTest ta = new AnonymousTest();
//補全代碼:調用AnonymousTest的test方法,使之打印"購買了一個小米手機,花掉了2999.0元。提示:使用匿名內部類實現
ta.test(new Product() {
@Override
public double getPrice() {
return 2999;
}
@Override
public String getName() {
return "小米手機";
}
});
}
}
第四題:
package com.homework.homework_4;
/**
* 第四題:生成一個隨機100內小數,轉換爲保留兩位小數的字符串,不考慮四捨五入的問題。
* 打印效果如下:
* 隨機數爲:
* 86.217840985496
* 轉換爲:
* 86.21
* 提示:將隨機數結果轉換成String字符串,查閱String類進行字符串截取即可 subString(int start,int end)
*/
public class HomeWork4 {
public static void main(String[] args) {
//1 使用math的方法生成0-100之間的隨機數
double num=Math.random()*100;
System.out.println("隨機數爲:");
System.out.println(num);
//2 將隨機數轉換成字符串
String s=num+"";
//3 獲取小數點的位置
int index = s.indexOf(".");
//4 字符串截取,保留兩位小數
String newS = s.substring(0, index + 3);
System.out.println("轉換爲:");
System.out.println(newS);
}
}
第五題:
package com.homework.homework_5;
public class ToStringTest{
static int i = 1;
public static void main(String args[]){
/*
1 執行new ToStringTest()創建對象 相當於ToStringTest tst=new ToStringTest()
2 將"love "和tst做字符串拼接,會調用對象的toString方法,將對象轉換成字符串
調用同 String方法會發生如下事情:
1、打印 I
2 返回Java字符串,然後在main的第一行代碼中就相當於System.out.println("love " + "Java"));
3 將最終的拼接結果進行輸出
I love java
*/
System.out.println("love " + new ToStringTest());//love java
ToStringTest a = new ToStringTest();
a.i++;//i=2
System.out.println("me " + a.i);//me 2
// me 2
}
public String toString(){
System.out.print("I ");//I
return "java ";
}
}
完結