溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java如何求矩形面積

發(fā)布時(shí)間:2022-01-17 14:26:59 來源:億速云 閱讀:230 作者:清風(fēng) 欄目:大數(shù)據(jù)

這篇“java如何求矩形面積”除了程序員外大部分人都不太理解,今天小編為了讓大家更加理解“java如何求矩形面積”,給大家總結(jié)了以下內(nèi)容,具有一定借鑒價(jià)值,內(nèi)容詳細(xì)步驟清晰,細(xì)節(jié)處理妥當(dāng),希望大家通過這篇文章有所收獲,下面讓我們一起來看看具體內(nèi)容吧。

在二維平面上計(jì)算出兩個(gè)由直線構(gòu)成的矩形重疊后形成的總面積。

每個(gè)矩形由其左下頂點(diǎn)和右上頂點(diǎn)坐標(biāo)表示,如圖所示。

java如何求矩形面積

示例:

輸入: -3, 0, 3, 4, 0, -1, 9, 2
輸出: 45

說明: 假設(shè)矩形面積不會(huì)超出 int 的范圍。

答案:

 1public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
2    int areaOfSqrA = (C - A) * (D - B);
3    int areaOfSqrB = (G - E) * (H - F);
4    int left = Math.max(A, E);
5    int right = Math.min(G, C);
6    int bottom = Math.max(F, B);
7    int top = Math.min(D, H);
8    //如果有重疊
9    int overlap = 0;
10    if (right > left && top > bottom)
11        overlap = (right - left) * (top - bottom);
12    return areaOfSqrA + areaOfSqrB - overlap;
13}

解析:
這題不是很難,可能有點(diǎn)復(fù)雜,自己就畫個(gè)圖慢慢體會(huì)。下面再來看一種解法

1public int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
2    int total = (D - B) * (C - A) + (H - F) * (G - E);
3    if (!(A < G && E < C && B < H && F < D))
4        return total;
5    int right = Math.min(D, H), left = Math.max(B, F), top = Math.min(C, G), bottom = Math.max(A, E);
6    return total - (right - left) * (top - bottom);
7}

java基本數(shù)據(jù)類型有哪些

Java的基本數(shù)據(jù)類型分為:1、整數(shù)類型,用來表示整數(shù)的數(shù)據(jù)類型。2、浮點(diǎn)類型,用來表示小數(shù)的數(shù)據(jù)類型。3、字符類型,字符類型的關(guān)鍵字是“char”。4、布爾類型,是表示邏輯值的基本數(shù)據(jù)類型。

感謝您的閱讀,希望您對(duì)“java如何求矩形面積”這一關(guān)鍵問題有了一定的理解,具體使用情況還需要大家自己動(dòng)手實(shí)驗(yàn)使用過才能領(lǐng)會(huì),快去試試吧,如果想閱讀更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI