搜尋
首頁Javajava教程如何在Java中檢查一個數字是否為陽光數?

如何在Java中檢查一個數字是否為陽光數?

如果輸入數字的下一個值的平方根是任何數字的完全平方數,則稱該數字為陽光數。

更進一步解釋,如果我們給任何一個數字加上1,我們就得到下一個值。然後我們要找出它的平方根。如果我們得到一個整數值,那麼我們可以說它是某個數的完全平方。如果我們確認下一個數有一個完全平方數,那麼輸入的數就是一個陽光數,否則它不是陽光數。

在本文中,我們將看到如何使用Java程式語言來檢查一個數字是否為陽光數。

展示一些實例給你看

Instance-1

的中文翻譯為:

實例-1

輸入的數字是80。

讓我們使用陽光數的邏輯來檢查一下。

80的下一個值 = 80 1 = 81

81的平方根=9

正如我們在這裡注意到的,81是9的完全平方。

因此,80是一個陽光的數字。

Instance-2

的中文翻譯為:

實例-2

輸入的數字是48。

讓我們使用陽光數的邏輯來檢查一下。

48的下一個值 = 48 1 = 49

49的平方根=7

正如我們在這裡注意到的,49是7的一個完全平方數。

因此,48是一個陽光數。

Instance-3

的中文翻譯為:

實例-3

輸入的數字是122。

讓我們使用陽光數的邏輯來檢查一下。

122的下一個值= 122 1 = 123

123的平方根=11.09053651

正如我們在這裡注意到的,123沒有一個完美的平方數。

因此,122是一個陽光數。

其他一些陽光數的例子包括3、8、15、24、35、48、63等。

文法

要取得一個數字的平方根,我們可以使用java.lang套件中的Math類別中內建的sqrt()方法。

以下是使用此方法取得任意數字的平方根的語法。

double squareRoot = Math.sqrt(input_vale)

你可以使用Math.floor()來找出最接近的整數值。

Math.floor(square_root)

演算法

  • 步驟 1 - 透過初始化或使用者輸入來取得一個整數。

  • 第二步 - 然後我們透過將其加1來找到它的下一個值,並將其儲存在另一個變數中。

  • 第三步 - 我們找到下一個值的平方根。

  • 第四步 - 現在我們正在尋找最接近的完全平方根,並將其與下一個平方根值相減。

  • 步驟 5 - 如果減法後的值為零,則我們將得到確認,它是一個整數值,表示下一個值是任意數字的完全平方。

  • 第6步 − 如果我們得到確認下一個數字是完全平方數,則列印該數字是陽光數,否則它不是一個陽光數。

多種方法

我們以不同的方式提供了解決方案。

  • 透過使用靜態輸入值

  • #透過使用使用者定義的方法

讓我們逐一查看程式及其輸出。

方法一:透過使用靜態輸入值

在這個方法中,程式將初始化一個整數值,然後透過使用演算法,我們可以檢查一個數字是否是一個陽光數。

Example

的中文翻譯為:

範例

import java.util.*;
public class Main{
   public static void main(String args[]){
         //declare an int variable and initialize with a static value
         int inputNumber=8;

         //declare a variable which store next value of input number
         double next=inputNumber + 1;

         //Find the square root of the next number
         //store it as double value
         double square_root = Math.sqrt(next);

         //check whether the square root is a integer value or not
         //if yes return true otherwise false
         if(((square_root - Math.floor(square_root)) == 0))

         //if true then print it is a sunny number
            System.out.println(inputNumber + " is a sunny number.");
         else
            //if true then print it is a sunny number
            System.out.println(inputNumber + " is not a sunny number.");
   }
}

輸出

8 is not a sunny number.

方法二:透過使用使用者定義的方法

在這種方法中,我們將一個靜態值分配為輸入數字,並將該數字作為參數傳遞給一個用戶定義的方法,然後在方法內部,透過使用演算法,我們可以檢查該數字是否是一個Sunny數字。

Example

的中文翻譯為:

範例

import java.util.*;
public class Main{
   public static void main(String args[]){
   //declare an int variable and initialize with a static value
   int inp=15;

   //call the user defined method inside the conditional statement
   if(checkSunny(inp))

   //if true then print it is a sunny number
      System.out.println(inp + " is a sunny number.");

   else
      //if true then print it is a sunny number
      System.out.println(" is not a sunny number.");
   }

   //define the user defined method
   static boolean checkSunny(int inputNumber){

      //declare a variable which store next value of input number
      double next=inputNumber + 1;

      //Find the square root of the next number
      // store it as double value
      double square_root = Math.sqrt(next);

      //check whether the square root is a integer value or not
      //if yes return true otherwise false
      return ((square_root - Math.floor(square_root)) == 0);
   }
}

輸出

15 is a sunny number.

在本文中,我們探討如何使用三種不同的方法在Java中檢查一個數字是否為陽性數。

以上是如何在Java中檢查一個數字是否為陽光數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:tutorialspoint。如有侵權,請聯絡admin@php.cn刪除
JVM如何處理操作系統API的差異?JVM如何處理操作系統API的差異?Apr 27, 2025 am 12:18 AM

JVM通過JavaNativeInterface(JNI)和Java標準庫處理操作系統API差異:1.JNI允許Java代碼調用本地代碼,直接與操作系統API交互。 2.Java標準庫提供統一API,內部映射到不同操作系統API,確保代碼跨平台運行。

Java 9影響平台獨立性中引入的模塊化如何?Java 9影響平台獨立性中引入的模塊化如何?Apr 27, 2025 am 12:15 AM

modularitydoesnotdirectlyaffectJava'splatformindependence.Java'splatformindependenceismaintainedbytheJVM,butmodularityinfluencesapplicationstructureandmanagement,indirectlyimpactingplatformindependence.1)Deploymentanddistributionbecomemoreefficientwi

什麼是字節碼,它與Java的平台獨立性有何關係?什麼是字節碼,它與Java的平台獨立性有何關係?Apr 27, 2025 am 12:06 AM

BytecodeinJavaistheintermediaterepresentationthatenablesplatformindependence.1)Javacodeiscompiledintobytecodestoredin.classfiles.2)TheJVMinterpretsorcompilesthisbytecodeintomachinecodeatruntime,allowingthesamebytecodetorunonanydevicewithaJVM,thusfulf

為什麼Java被認為是一種獨立於平台的語言?為什麼Java被認為是一種獨立於平台的語言?Apr 27, 2025 am 12:03 AM

javaachievesplatformIndependencEthroughThoJavavIrtualMachine(JVM),wodecutesbytecodeonyanydenanydevicewithajvm.1)javacodeiscompiledintobytecode.2)

圖形用戶界面(GUIS)如何提出Java平台獨立性的挑戰?圖形用戶界面(GUIS)如何提出Java平台獨立性的挑戰?Apr 27, 2025 am 12:02 AM

JavaGUI開發中的平台獨立性面臨挑戰,但可以通過使用Swing、JavaFX,統一外觀,性能優化,第三方庫和跨平台測試來應對。 JavaGUI開發依賴於AWT和Swing,Swing旨在提供跨平台一致性,但實際效果因操作系統不同而異。解決方案包括:1)使用Swing和JavaFX作為GUI工具包;2)通過UIManager.setLookAndFeel()統一外觀;3)優化性能以適應不同平台;4)使用如ApachePivot或SWT的第三方庫;5)進行跨平台測試以確保一致性。

Java開發的哪些方面取決於平台?Java開發的哪些方面取決於平台?Apr 26, 2025 am 12:19 AM

JavadevelovermentIrelyPlatForm-DeTueTososeVeralFactors.1)JVMVariationsAffectPerformanceNandBehaviorAcroSsdifferentos.2)Nativelibrariesviajnijniiniininiinniinindrododerplatefform.3)

在不同平台上運行Java代碼時是否存在性能差異?為什麼?在不同平台上運行Java代碼時是否存在性能差異?為什麼?Apr 26, 2025 am 12:15 AM

Java代碼在不同平台上運行時會有性能差異。 1)JVM的實現和優化策略不同,如OracleJDK和OpenJDK。 2)操作系統的特性,如內存管理和線程調度,也會影響性能。 3)可以通過選擇合適的JVM、調整JVM參數和代碼優化來提升性能。

Java平台獨立性有什麼局限性?Java平台獨立性有什麼局限性?Apr 26, 2025 am 12:10 AM

Java'splatFormentenceHaslimitations不包括PerformanceOverhead,versionCompatibilityIsissues,挑戰WithnativelibraryIntegration,Platform-SpecificFeatures,andjvminstallation/jvminstallation/jvmintenance/jeartenance.therefactorscomplicatorscomplicatethe“ writeOnce”

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),