最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

JAVA代碼案例6.11

2023-06-11 17:30 作者:furiousiTy  | 我要投稿

創(chuàng)建一個(gè)抽象類Number,包含一個(gè)抽象方法display(),然后創(chuàng)建兩個(gè)子類Integer和Double,分別實(shí)現(xiàn)display()方法來打印整數(shù)和浮點(diǎn)數(shù)。

以下是一個(gè)示例的Java程序,定義了抽象類 `Number`,并從 `Number` 類派生出兩個(gè)子類 `Integer` 和 `Double`,分別實(shí)現(xiàn)了 `display()` 方法來打印整數(shù)和浮點(diǎn)數(shù):


```java

abstract class Number {

? ? abstract void display();

}


class IntegerNumber extends Number {

? ? private int value;


? ? public IntegerNumber(int value) {

? ? ? ? this.value = value;

? ? }


? ? @Override

? ? void display() {

? ? ? ? System.out.println("Integer Number: " + value);

? ? }

}


class DoubleNumber extends Number {

? ? private double value;


? ? public DoubleNumber(double value) {

? ? ? ? this.value = value;

? ? }


? ? @Override

? ? void display() {

? ? ? ? System.out.println("Double Number: " + value);

? ? }

}


public class Main {

? ? public static void main(String[] args) {

? ? ? ? IntegerNumber integerNumber = new IntegerNumber(10);

? ? ? ? integerNumber.display();


? ? ? ? DoubleNumber doubleNumber = new DoubleNumber(3.14);

? ? ? ? doubleNumber.display();

? ? }

}

```


在上述程序中,`Number` 是一個(gè)抽象類,包含了一個(gè)抽象方法 `display()`。`IntegerNumber` 類和 `DoubleNumber` 類都繼承自 `Number` 類,并實(shí)現(xiàn)了各自的 `display()` 方法來打印整數(shù)和浮點(diǎn)數(shù)。


在 `Main` 類中,創(chuàng)建了一個(gè) `IntegerNumber` 對(duì)象 `integerNumber`,并調(diào)用其 `display()` 方法來打印整數(shù)。然后,創(chuàng)建了一個(gè) `DoubleNumber` 對(duì)象 `doubleNumber`,并調(diào)用其 `display()` 方法來打印浮點(diǎn)數(shù)。


運(yùn)行這個(gè)程序?qū)⑤敵鲆韵陆Y(jié)果:


```

Integer Number: 10

Double Number: 3.14

```


這些結(jié)果是根據(jù)對(duì)象的類型和屬性值打印得到的。

創(chuàng)建一個(gè)日期格式化工具類DateFormatter,包含一個(gè)靜態(tài)方法formatDate(),接受一個(gè)LocalDateTime對(duì)象和一個(gè)格式字符串作為參數(shù),并返回格式化后的日期字符串。


以下是一個(gè)示例的Java程序,定義了一個(gè)日期格式化工具類 `DateFormatter`,其中包含一個(gè)靜態(tài)方法 `formatDate()`,用于接受一個(gè) `LocalDateTime` 對(duì)象和一個(gè)格式字符串作為參數(shù),并返回格式化后的日期字符串:


```java

import java.time.LocalDateTime;

import java.time.format.DateTimeFormatter;


public class DateFormatter {

? ? public static String formatDate(LocalDateTime dateTime, String format) {

? ? ? ? DateTimeFormatter formatter = DateTimeFormatter.ofPattern(format);

? ? ? ? return dateTime.format(formatter);

? ? }


? ? public static void main(String[] args) {

? ? ? ? LocalDateTime now = LocalDateTime.now();

? ? ? ? String formattedDate = DateFormatter.formatDate(now, "yyyy-MM-dd HH:mm:ss");

? ? ? ? System.out.println("Formatted Date: " + formattedDate);

? ? }

}

```


在上述程序中,`DateFormatter` 類包含了一個(gè)靜態(tài)方法 `formatDate()`。該方法接受一個(gè) `LocalDateTime` 對(duì)象和一個(gè)格式字符串作為參數(shù),并使用 `DateTimeFormatter` 類來進(jìn)行日期格式化操作。最后,返回格式化后的日期字符串。


在 `main` 方法中,我們使用 `LocalDateTime.now()` 獲取當(dāng)前日期和時(shí)間。然后,調(diào)用 `DateFormatter.formatDate()` 方法,將當(dāng)前日期和時(shí)間對(duì)象以及所需的日期格式字符串作為參數(shù)傳遞。最后,將格式化后的日期字符串打印到控制臺(tái)。


運(yùn)行這個(gè)程序?qū)⑤敵鲱愃埔韵陆Y(jié)果:


```

Formatted Date: 2023-06-11 15:30:45

```


這個(gè)結(jié)果是根據(jù)當(dāng)前的日期和時(shí)間以及給定的日期格式字符串進(jìn)行格式化得到的。請(qǐng)注意,實(shí)際的日期和時(shí)間將根據(jù)運(yùn)行程序的時(shí)間而有所不同。


創(chuàng)建一個(gè)類StringUtils,包含一個(gè)靜態(tài)方法reverseWords(),接受一個(gè)字符串作為參數(shù),然后將其中的單詞進(jìn)行反轉(zhuǎn),并返回結(jié)果。

以下是一個(gè)示例的Java程序,定義了一個(gè)字符串工具類 `StringUtils`,其中包含一個(gè)靜態(tài)方法 `reverseWords()`,用于接受一個(gè)字符串作為參數(shù),并將其中的單詞進(jìn)行反轉(zhuǎn),并返回結(jié)果:


```java

public class StringUtils {

? ? public static String reverseWords(String input) {

? ? ? ? if (input == null || input.isEmpty()) {

? ? ? ? ? ? return input;

? ? ? ? }


? ? ? ? String[] words = input.split(" ");

? ? ? ? StringBuilder reversed = new StringBuilder();


? ? ? ? for (int i = words.length - 1; i >= 0; i--) {

? ? ? ? ? ? reversed.append(words[i]);

? ? ? ? ? ? if (i > 0) {

? ? ? ? ? ? ? ? reversed.append(" ");

? ? ? ? ? ? }

? ? ? ? }


? ? ? ? return reversed.toString();

? ? }


? ? public static void main(String[] args) {

? ? ? ? String input = "Hello World! Welcome to Java";

? ? ? ? String reversedWords = StringUtils.reverseWords(input);

? ? ? ? System.out.println("Reversed Words: " + reversedWords);

? ? }

}

```


在上述程序中,`StringUtils` 類包含了一個(gè)靜態(tài)方法 `reverseWords()`。該方法接受一個(gè)字符串作為參數(shù),并通過使用空格進(jìn)行分割,將其中的單詞存儲(chǔ)在一個(gè)字符串?dāng)?shù)組中。然后,使用一個(gè)循環(huán)從后往前遍歷單詞數(shù)組,并將每個(gè)單詞追加到一個(gè) `StringBuilder` 對(duì)象中,同時(shí)在單詞之間添加空格。最后,將 `StringBuilder` 對(duì)象轉(zhuǎn)換為字符串并返回。


在 `main` 方法中,我們定義了一個(gè)輸入字符串 `input`,并調(diào)用 `StringUtils.reverseWords()` 方法來反轉(zhuǎn)其中的單詞。然后,將反轉(zhuǎn)后的結(jié)果打印到控制臺(tái)。


運(yùn)行這個(gè)程序?qū)⑤敵鲱愃埔韵陆Y(jié)果:


```

Reversed Words: Java to Welcome World! Hello

```


這個(gè)結(jié)果是根據(jù)給定的輸入字符串中的單詞進(jìn)行反轉(zhuǎn)得到的。

創(chuàng)建一個(gè)類MathUtil,包含靜態(tài)方法getMax()和getMin(),分別接受兩個(gè)整數(shù)參數(shù),并返回它們的最大值和最小值。


以下是一個(gè)示例的Java程序,定義了類 `MathUtil`,其中包含靜態(tài)方法 `getMax()` 和 `getMin()`,用于獲取兩個(gè)整數(shù)參數(shù)的最大值和最小值:


```java

public class MathUtil {

? ? public static int getMax(int num1, int num2) {

? ? ? ? return Math.max(num1, num2);

? ? }


? ? public static int getMin(int num1, int num2) {

? ? ? ? return Math.min(num1, num2);

? ? }


? ? public static void main(String[] args) {

? ? ? ? int a = 10;

? ? ? ? int b = 5;


? ? ? ? int max = MathUtil.getMax(a, b);

? ? ? ? int min = MathUtil.getMin(a, b);


? ? ? ? System.out.println("Max: " + max);

? ? ? ? System.out.println("Min: " + min);

? ? }

}

```


在上述程序中,`MathUtil` 類包含了靜態(tài)方法 `getMax()` 和 `getMin()`。這些方法使用了Java的 `Math` 類中提供的 `max()` 和 `min()` 方法來計(jì)算兩個(gè)整數(shù)的最大值和最小值。


在 `main` 方法中,我們定義了兩個(gè)整數(shù)變量 `a` 和 `b`,并使用 `MathUtil` 類的靜態(tài)方法 `getMax()` 和 `getMin()` 來獲取它們的最大值和最小值。然后,我們將這些值打印到控制臺(tái)。


運(yùn)行這個(gè)程序?qū)⑤敵鲆韵陆Y(jié)果:


```

Max: 10

Min: 5

```

這些結(jié)果是根據(jù)給定的整數(shù)變量 `a` 和 `b` 計(jì)算得出的最大值和最小值。

編寫一個(gè)程序,演示Java的垃圾回收機(jī)制,創(chuàng)建多個(gè)對(duì)象并在適當(dāng)?shù)臅r(shí)候?qū)⑵湓O(shè)置為null,然后手動(dòng)調(diào)用垃圾回收。

在Java中,垃圾回收是由Java虛擬機(jī)(JVM)自動(dòng)處理的,開發(fā)人員無法精確控制垃圾回收的具體時(shí)機(jī)。但是,我們可以通過將對(duì)象設(shè)置為null來提示JVM可以回收它們。雖然手動(dòng)調(diào)用垃圾回收不是必需的,但可以通過調(diào)用`System.gc()`方法來請(qǐng)求JVM運(yùn)行垃圾回收。


下面是一個(gè)示例程序,演示了創(chuàng)建多個(gè)對(duì)象,并在適當(dāng)?shù)臅r(shí)候?qū)⑵湓O(shè)置為null,然后手動(dòng)調(diào)用垃圾回收:


```java

public class GarbageCollectionDemo {

? ? public static void main(String[] args) {

? ? ? ? // 創(chuàng)建多個(gè)對(duì)象

? ? ? ? Object obj1 = new Object();

? ? ? ? Object obj2 = new Object();

? ? ? ? Object obj3 = new Object();


? ? ? ? // 打印對(duì)象的哈希碼

? ? ? ? System.out.println("Object 1: " + obj1);

? ? ? ? System.out.println("Object 2: " + obj2);

? ? ? ? System.out.println("Object 3: " + obj3);


? ? ? ? // 將對(duì)象設(shè)置為null

? ? ? ? obj1 = null;

? ? ? ? obj2 = null;


? ? ? ? // 手動(dòng)調(diào)用垃圾回收

? ? ? ? System.gc();


? ? ? ? // 等待一段時(shí)間以便垃圾回收完成

? ? ? ? try {

? ? ? ? ? ? Thread.sleep(1000);

? ? ? ? } catch (InterruptedException e) {

? ? ? ? ? ? e.printStackTrace();

? ? ? ? }


? ? ? ? // 打印對(duì)象的哈希碼,如果對(duì)象被成功回收,則輸出為null

? ? ? ? System.out.println("Object 1 after garbage collection: " + obj1);

? ? ? ? System.out.println("Object 2 after garbage collection: " + obj2);

? ? ? ? System.out.println("Object 3: " + obj3);

? ? }

}

```


在上述程序中,創(chuàng)建了三個(gè)對(duì)象 `obj1`、`obj2` 和 `obj3`。然后,通過打印對(duì)象的哈希碼來驗(yàn)證對(duì)象的存在。


接下來,將 `obj1` 和 `obj2` 設(shè)置為null,表示不再引用這些對(duì)象。然后,通過調(diào)用 `System.gc()` 來請(qǐng)求JVM運(yùn)行垃圾回收。注意,實(shí)際的垃圾回收時(shí)機(jī)是由JVM決定的,因此調(diào)用 `System.gc()` 并不能保證立即回收對(duì)象。


為了確保有足夠的時(shí)間進(jìn)行垃圾回收,我們使用 `Thread.sleep()` 方法讓程序等待1秒鐘。然后,再次打印對(duì)象的哈希碼。如果對(duì)象被成功回收,則輸出為null,否則仍然顯示對(duì)象的哈希碼。


運(yùn)行這個(gè)程序可能會(huì)得到以下結(jié)果:


```

Object 1: java.lang.Object@3cd1a2f1

Object 2: java.lang.Object@2f0e140b

Object 3: java.lang.Object@7440e464

Object 1 after garbage collection: null

Object 2 after garbage collection: null

Object 3: java.lang.Object@7440e464

```


注意,由于垃圾回收的具體時(shí)機(jī)是由JVM控制的,因此


輸出結(jié)果可能因JVM的不同實(shí)現(xiàn)而有所不同。



JAVA代碼案例6.11的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
花垣县| 连南| 兴山县| 芜湖县| 阿拉善盟| 攀枝花市| 启东市| 思南县| 乐亭县| 榆社县| 西乌珠穆沁旗| 峨山| 红安县| 富宁县| 永新县| 东辽县| 黄陵县| 福海县| 镇宁| 嵊州市| 邵武市| 通州市| 绿春县| 沐川县| 抚宁县| 舞钢市| 卫辉市| 武强县| 石台县| 龙井市| 民丰县| 呈贡县| 林芝县| 绥德县| 武强县| 中山市| 延庆县| 塘沽区| 九龙城区| 东海县| 托里县|