java題目該怎麼做(java作業幫)

本文目錄一覽:

這道java題應該怎麼做?

Java源代碼:

public class Test {

public static void main(String[] args) {

Point p1 = new Point(4, 5);

System.out.printf(“點p坐標為(%f,%f)\n”, p1.getX(), p1.getY());

p1.setX(3);

p1.setY(4);

System.out.printf(“重置後點p坐標為(%f,%f)\n”, p1.getX(), p1.getY());

System.out.printf(“點(%f, %f)到原點的距離的平方為%f\n”, p1.getX(), p1.getY(),

p1.distance());

Point p2 = new Point(1, 2);

System.out.printf(“點(%f,%f)到點(%f,%f)的距離的平方為%f\n”, p1.getX(),

p1.getY(), p2.getX(), p2.getY(), p1.distance(p2));

}

}

class Point {

protected double x;

protected double y;

public Point(){

}

public Point(double x, double y) {

this.x = x;

this.y = y;

}

public void setX(double x) {

this.x = x;

}

public double getX() {

return this.x;

}

public void setY(double y) {

this.y = y;

}

public double getY() {

return this.y;

}

public double distance() {

return Math.pow(x, 2) + Math.pow(y, 2);

}

public double distance(Point p) {

return Math.pow(this.x – p.x, 2) + Math.pow(this.y – p.y, 2);

}

}

運行測試:

java題目,這道題用守護線程怎麼做?

守護線程需要將指定線程的setDaemon()置為true,整體代碼為:

import java.util.Random;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

System.out.println(“main線程啟動”);

//設置main線程退出監聽線程,當maim線程真正結束時,會打印該日誌

Runtime.getRuntime().addShutdownHook(new Thread(() – System.out.println(“main開始退出”)));

//設置線程1,死循環,每3秒輸出一個隨機整數

Thread thread1 = new Thread(() – {

System.out.println(“線程1啟動”);

while (true) {

Random random = new Random();

System.out.println(“線程1輸出隨機整數:[” + random.nextInt(100) + “]”);

try {

Thread.sleep(3 * 1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

});

thread1.setDaemon(true);//守護線程1

//設置線程2,監聽“Q”命令,收到命令後線程2結束

Thread thread2 = new Thread(() – {

System.out.println(“線程2啟動”);

Scanner in = new Scanner(System.in);

String command = “”;

while (!”Q”.equals(command)) {

System.out.println(“線程2等待輸入”);

command = in.nextLine();

System.out.println(“線程2輸入:[” + command + “]”);

}

System.out.println(“線程2收到終止命令,線程2已結束”);

});

thread1.start();

thread2.start();

System.out.println(“main線程結束,等待子線程結束”);

}

}

關鍵在於第23行:thread1.setDaemon(true);//守護線程1

我們分析一下我的這段代碼,main函數啟動後,會先後開始執行線程1和線程2,之後main線程結束,等待所有子線程結束後,main線程即可退出,同時關閉jvm。

我們先看一下如果線程1沒有設置為守護線程會咋樣,可以看到,線程1是一個死循環,它自己是永遠不會主動結束的,線程2則是當輸入“Q”命令後,跳出while循環,結束線程2。

運行一下沒有守護線程1的情況:

運行後,線程1一直在輸出整數,線程2收到“Q”命令後也結束了,但是線程1還是在輸出,main線程也無法停止,jvm將一直存在下去。

現在再運行守護線程1的情況:

線程2收到“Q”命令後,線程2結束,此時由於線程1被守護,main線程開始退出,之後,jvm關閉,守護線程1被自動回收。

java題目怎麼做

繼承就是父類繼承子類,關鍵字extends,繼承後子類擁有父類的屬性和方法。子類就是繼承的類,在類名後有extends關鍵字。好處:繼承可以減少代碼的重複性,提高程序的可維護性。單重繼承就是只繼承一個父類。多重繼承就是子類繼承兩個或更多父類,java的抽象類不可以多重繼承,但可以多層繼承,多層繼承就是父類還有父類。接口可以多重實現(抽象類叫繼承,接口叫實現)

2.這種說法是不正確的。因為子類不可以擁有父類的私有域和私有方法。

3.覆蓋就是在繼承父類的子類裡面寫一個與父類相同的方法。域的隱藏是指子類裡面有兩個相同的變量,其中一個繼承父類,另一個由自己定義,當子類執行繼承父類的操作時,處理的是繼承父類的對象,而當子類執行它自己的方法時,所操作的就是它自己定義的變量,而把父類的變量“隱藏”起來。重載是指在同一個類中有相同名稱的方法,但它們的返回類型或參數類型或者參數個數不同(簡單的說就是同名不同參)。

4.多態性是允許你將父對象設置成為和一個或更多的他的子對象相等的技術,賦值之後,父對象就可以根據當前賦值給它的子對象的特性以不同的方式運作(摘自“Delphi4 編程技術內幕”)。使用多態性的好處:

1).派生類的功能可以被基類的方法或引用變量所調用,這叫向後兼容,可以提高可擴充性和可維護性。

2).應用程序不必為每一個派生類編寫功能調用,只需要對抽象基類進行處理即可。大大提高程序的可復用性。

5。。。睡覺了,以後再看吧

0 1 8

更多回答(2)

華清池兵馬俑一日游兵馬俑+華清宮一…

華清池兵馬俑一日游 , 華清池兵馬俑一日游 , 贈送自助餐…

電話諮詢:兵馬俑華清池一日游報價

西安中國國際旅行社..廣告

兵馬俑一日游 參團贈送中餐+耳麥…

兵馬俑一日游 西安到兵馬俑一日游 ,兵馬俑一日游 ,西安…

中國康輝西安國際旅..廣告

為您推薦

java題目怎麼做

string a[]= new string[]

瀏覽38

這些java題怎麼做啊???

第一張圖:method1方法沒有定義返回值類型會報錯,method1方法參數m沒有定義類型會報錯,m

1 瀏覽29 2017-05-25

java題怎麼做

在哪裡學的呀,不靠譜嘛!還是到 安徽萬工 系統學習下吧!這樣能成功就業!

瀏覽37 2017-11-06

怎麼做下面的java題目?

做法如下:

請問這個Java題怎麼做?

按照題目要求編寫的Java程序如下

import java.util.Scanner;

class RadiusException extends Exception{

public RadiusException(String message){

super(message);

}

}

public class Circle{

public double area(double r) throws RadiusException{

if(r0)

throw new RadiusException(“輸入錯誤”);

else

return Math.PI*r*r;

}

public static void main(String[] args){

System.out.print(“請輸入圓的半徑r:”);

try{

Scanner sc=new Scanner(System.in);

double r=sc.nextDouble();

Circle c=new Circle();

System.out.println(“圓的面積為”+c.area(r));

sc.close();

}catch(RadiusException re){

System.out.println(re.getMessage());

}

}

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/251982.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-13 17:33
下一篇 2024-12-13 17:33

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論