[本文參考原文地址]http://bjbsair.com/2020-03-09/it/1875/html
毋庸置疑,Java是得到豐厚薪資的主要編程選擇之一。畢竟,基於類的通用,面向對象的編程語言是世界上使用最普遍的編程語言之一。java
具備許多強大的功能,編程語言不只是經驗豐富的專家的首選,並且是編程領域的新手所追求的。所以,這裏有一些重要的Java面試問題,能夠幫助您完成Java工做,或者至少能夠提升您的學習水平。程序員
答: Java是一種最初由James Gosling設計並由Oracle Corporation進一步開發的面向對象的高級通用編程語言。它是世界上最受歡迎的編程語言之一。面試
答:構造函數是一種與其所屬類具備相同名稱的方法。一旦建立了新對象,就會調用與該類相對應的構造函數。 儘管用戶能夠顯式建立一個構造函數,可是一旦建立一個類,它就會本身建立。這被稱爲默認構造函數。構造函數能夠重載。sql
注意:若是顯式建立的構造函數具備參數,則必須建立另外一個沒有參數的構造函數。編程
答:如下是Java編程語言的各類功能:api
答:在即時編譯中,所需的代碼在運行時執行。一般,它涉及將字節碼轉換爲機器代碼,而後直接執行它。爲了實現高性能,Java能夠利用即時編譯。 JIT編譯器默認在Java中處於啓用狀態,並在調用方法後當即被激活。而後,它將Java方法的字節碼編譯爲本地機器代碼。此後,JVM直接調用已編譯的代碼,而不是對其進行解釋。這能夠提升性能。數組
答:Java IDE是容許Java開發人員輕鬆編寫和調試Java程序的軟件。它基本上是各類編程工具的集合,可經過單個界面訪問,並具備一些有用的功能,例如代碼完成和語法突出顯示。 Codenvy,Eclipse和NetBeans是一些最受歡迎的Java IDE。緩存
答:只能在聲明它們的方法或代碼塊中訪問的變量稱爲局部變量。另外一方面,實例變量可被類中的全部方法訪問。 雖然局部變量在方法或代碼塊內部聲明,而實例變量在類內部但方法外部聲明。 即便未分配,實例變量的值也能夠爲null,0、0.0或false。須要分配值的局部變量不是這種狀況,不然分配值將產生錯誤。 調用方法時會自動建立局部變量,並在方法退出後當即銷燬。要建立實例變量,必須使用_new_關鍵字。安全
答:Java類的實例稱爲對象。Java對象的兩個重要屬性是行爲和狀態。JVM遇到_new_關鍵字後,即會建立一個對象。(https://stackoverflow.com/questions/18219339/trouble-understanding-object-state-behavior-and-identity)
答:如下是各類OOPS概念:
答:Java中的方法重寫容許子類提供其父類或父類已經提供的方法的特定實現。若是子類方法和超類方法具備:
回答:重載是兩種或多種不一樣方法(方法重載)或運算符(運算符重載)具備相同表示形式時的現象。 例如,+運算符將兩個整數值相加,但將兩個字符串鏈接在一塊兒。一樣,名爲Add的重載函數可用於兩個目的
與方法重寫不一樣,方法重載要求兩個重載的方法具備相同的名稱但參數不一樣。重載的函數能夠具備或能夠不具備不一樣的返回類型。
答:字符串變量存儲在常量字符串池中。隨着字符串引用的更改,沒法刪除舊值。例如,若是字符串存儲了值「 Old」,則添加新值「 New」不會刪除舊值。可是,它仍處於休眠狀態。 在字符串緩衝區中,值存儲在堆棧中。經過更改字符串引用,新值將替換舊值。 字符串緩衝區是同步的(所以是線程安全的),而且比字符串生成器(它也是一個字符串緩衝區但未同步)提供的性能要慢。所以,在String Builder中,性能比String Buffer快。
答:在Java中,Set是惟一對象的集合。它使用_equals()_方法肯定兩個對象是否相同。Java集合中各類類型的Set是:
答:_notify()_方法用於發送信號以喚醒等待池中的單個線程。相反,_notifyAll()_方法用於發送信號以喚醒等待池中的全部線程。
答:在Java中,只能擴展一個類。所以,僅當不須要擴展其餘類時才擴展線程類。若是一個類須要擴展除線程類以外的其餘類,那麼咱們須要使用Runnable接口。
答:Java編程語言具備四種類型的垃圾收集器:
答:Java中的HashMap是基於Map的集合類,用於存儲鍵和值對。它表示爲HashMap <Key,Value>或HashMap <K,V> HashTable是一個列表數組,其中每一個列表稱爲存儲區。HashTable中包含的值是惟一的,而且取決於鍵。方法在HashMap中不一樣步,而關鍵方法在HashTable中同步。可是,HashMap沒有線程安全性,而HashTable具備相同的線程安全性。對於迭代值,HashMap使用迭代器,而HashTable使用枚舉器。HashTable不容許任何空值,而HashMap容許一個空鍵和多個空值。在性能方面,HashTable較慢。相對而言,HashMap更快。
答:Java中的一組對象稱爲集合。Java.util包包含日期和時間功能,國際化,舊版收集類等,以及用於收集的各類類和接口。或者,能夠將集合視爲設計用於存儲對象和操縱對象存儲在其中的設計的框架。您可使用集合對對象執行如下操做:
如下是集合框架的各個組成部分:
答:Java Map是一個將鍵映射到值的對象。它不能包含重複的鍵,而且每一個鍵只能映射到一個值。爲了肯定兩個鍵是相同仍是不一樣,Map使用equals()方法。Java中有4種類型的Map,以下所述:
答:優先級隊列與常規隊列同樣,是一種抽象數據類型,不一樣之處在於優先級隊列與它所包含的每一個元素相關聯。在優先級隊列中,高優先級的元素在低優先級的元素以前獲得服務。優先隊列中的元素根據比較器或天然排序。優先級隊列中元素的順序表明它們的相對優先級。
答:在Java中,抽象類和接口之間存在一些區別,總結以下:
答:Java提供了兩種類型的異常:
Java中的異常以兩種方式處理:
class ExceptionCheck{ public static void main(String[] args){ add(); } public void add() throws Exception{ addition(); } }
class ExceptionCheck{ public static void main (String[] args) { add(); } public void add(){ try{ addition(); }catch(Exception e){ e.printStacktrace(); } } }
答:
答:Java中的final關鍵字是一個非訪問修飾符,僅適用於類,方法或變量。根據使用環境的不一樣,它有不一樣的用途。
當一個類被聲明爲最終類時,則禁止其被子類化,即,沒有任何類能夠擴展最終類。
帶有final關鍵字的任何方法都不能被子類覆蓋。
緊跟着final關鍵字的變量不能在程序執行期間更改其持有的值。所以,它的行爲就像一個常量。
答:爲了在Java中建立線程,有兩種選擇:
public class Addition extends Thread { public void run() { } }
使用線程類的缺點是沒法擴展任何其餘類。可是,能夠在類中重載run()方法
實現可運行接口–在Java中建立線程的另外一種方法是經過實現可運行接口。爲此,有必要提供
public class Addition implements Runnable { public void run() { } }
答:yield()方法屬於線程類。它將當前正在運行的線程轉移到可運行狀態,並容許其餘線程執行。換句話說,它爲優先級相同的線程提供了運行的機會。由於yield()是靜態方法,因此它不會釋聽任何鎖。
答:線程生命週期具備如下狀態,並遵循如下順序:
一
class Adder { Static int add(int a, int b) { return a+b; } Static double add( double a, double b) { return a+b; } public static void main(String args[]) { System.out.println(Adder.add(11,11)); System.out.println(Adder.add(12.3,12.6)); }}
二
class Car { void run(){ System.out.println(「bjbsair.com」); } Class Audi extends Car{ void run() { System.out.prinltn(「Audi is running at bjbsair.com」); } public static void main( String args[]) { Car b=new Audi(); b.run(); } }
答案:代碼段i。是代碼片斷ii中方法重載的示例。演示方法重載。
答:若是多個線程嘗試訪問單個代碼塊,那麼產生不許確結果的機會就會增長。爲防止這種狀況,請使用同步。使用sync關鍵字使線程須要鍵才能訪問同步的代碼。簡而言之,同步一次只容許一個線程訪問一個代碼塊。每一個Java對象都有一個鎖,每一個鎖只有一個鍵。線程只有在能夠獲取對象鎖定的鍵的狀況下,才能訪問同步方法。如下示例演示了同步:
public class ExampleThread implements Runnable { public static void main (String[] args){ Thread t = new Thread(); t.start(); } public void run(){ synchronized(object){ { } }
注意:建議避免對全部方法實施同步。這是由於當只有一個線程可以訪問同步的代碼時,下一個線程須要等待。所以,它致使程序性能下降。
回答:是的,能夠在一個try塊下寫入多個catch塊。可是,該方法須要從特定到通常。下面的示例演示了相同的內容:
public class Example { public static void main(String args[]) { try { int a[]= new int[10]; a[10]= 10/0; } catch(ArithmeticException e) { System.out.println("Arithmetic exception in first catch block"); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("Array index out of bounds in second catch block"); } catch(Exception e) { System.out.println("Any exception in third catch block"); } }
答:
注意:execute()方法僅在不肯定語句類型的狀況下才須要使用。在全部其餘狀況下,請使用executeQuery()或executeUpdate()方法。
答:
回答:如下代碼演示瞭如何在JSP中刪除cookie:
Cookie mycook = new Cookie("bjbsair.com","value1"); response.addCookie(mycook1); Cookie killmycook = new Cookie("bjbsair.com","value1"); killmycook.set MaxAge ( 0 ); killmycook.set Path ("/"); killmycook.addCookie ( killmycook 1 );
答:final關鍵字用於限制類,方法和變量。不能繼承final類,不能覆蓋final方法,而且final變量變爲常量,即其值沒法更改。
class FinalVarExample { public static void main( String args[]) { final int a=10; a=50; /* Will result in an error as the value can’t be changed now*/ }
最終:不管是否處理異常,都將執行finally塊內的任何代碼。
class FinallyExample { public static void main(String args[]){ try { int x=100; } catch(Exception e) { System.out.println(e); } finally { System.out.println("finally login to bjbsair.com");} } } }
Finalize :finalize方法在對象被垃圾回收以前執行清理。
class FinalizeExample { public void finalize() { System.out.println("bjbsair.com is called"); } public static void main(String args[]) { FinalizeExample f1=new FinalizeExample(); FinalizeExample f2=new FinalizeExample(); f1= NULL; f2=NULL; System.gc(); } }
答:throws關鍵字容許聲明異常,而throw關鍵字用於顯式拋出異常。受檢查的異常不能僅經過throw傳播,而throw容許這樣作而無需任何其餘操做。throws關鍵字後跟一個類,而throw關鍵字後跟一個實例。方法中使用throw關鍵字,但方法簽名中使用throws關鍵字。此外,不可能拋出多個異常,可是能夠聲明多個異常。
答:進程和線程之間有幾個基本區別,以下所述:
答:數組必須在聲明時給出大小,而數組列表不必定須要大小,由於它會動態更改大小。爲了將對象放入數組,須要指定索引。可是,對於數組列表,沒有這樣的要求。參數化數組列表時,不參數化數組。
答:Java中的抽象類是沒法實例化的類。這樣的類一般用於爲子類提供基礎,以便擴展以及實現抽象方法以及覆蓋或使用抽象類中定義的已實現方法。爲了建立抽象類,須要在其後跟隨abstract關鍵字。任何抽象類均可以具備抽象方法和非抽象方法。Java中僅具備聲明而沒有實現的方法被稱爲抽象方法。一樣,抽象方法名稱後跟abstract關鍵字。任何擴展抽象類的具體子類都必須提供抽象方法的實現。
答:Java接口是僅包含方法聲明而不包含方法實現的模板。這是一種在Java中實現多重繼承的解決方法。一些值得記住的有關Java接口的要點是:
答:咱們使用join()方法將一個線程與當前正在運行的線程的末端鏈接起來。它是一種非靜態方法,而且具備重載版本。考慮下面的示例:
public static void main (String[] args) { Thread t = new Thread(); t.start(); t.join(); }
主線程在上述示例中開始執行。一旦執行到達代碼t.start(),線程t就會啓動其本身的堆棧以執行。JVM在主線程和那裏的線程之間切換。一旦執行達到t.join(),則線程t單獨執行並被容許完成其任務。以後,主線程恢復執行。
答:Java中有三種方法能夠中止執行線程:
答:易失性變量中存儲的值不是從線程的高速緩存存儲器中讀取的,而是從主存儲器中讀取的。易失變量主要在同步期間使用。
答:序列化是將Java對象轉換爲字節流的過程。反序列化與序列化的過程剛好相反,在序列化過程當中,從字節流中檢索Java對象。經過將Java對象寫入ObjectOutputStream來序列化Java對象,並經過從ObjectInputStream讀取Java對象來反序列化Java對象。
答:一般,當JVM因爲內存不足而沒法分配對象時,將引起OutOfMemoryError異常。在這種狀況下,垃圾收集器沒法回收任何內存。 致使OutOfMemoryError異常的緣由可能有多種,其中最著名的是:
這就完成了Java面試的主要問題清單。您如何看待咱們編制的清單?將您的評論放在下面的專用窗口中,讓咱們知道。另外,請查看這些最佳Java教程,以進一步完善Java技能。
回答:
1.順序
這意味着值以特定順序存儲在集合中,但順序與值無關。例如。列表
2.排序
這意味着集合的順序取決於元素的值。
例如。SortedSet
回答:
Java中有兩個關鍵的異常處理關鍵字,其後是第三個關鍵字final,它們在處理異常後可能會或可能不會使用。
try:
若是代碼段有機會出現異常或錯誤,則將其放置在try塊中。引起異常時,將由catch塊對其進行處理和捕獲。
try塊必須在其後具備catch()或final()或兩個塊。
catch:
在try塊中引起異常時,將在塊中對其進行處理。
final:
無論異常如何,都執行該塊。能夠將其放置在try {}或catch {}塊以後。
答:若是未捕獲,則堆棧頂部的方法將引起異常。它移至下一個方法,並繼續這樣直到被捕獲。
例:
public class Sum() { public static void main(String args[]) { addition() } public void addition() { add(); } }
上面的代碼棧是:
add() addition() main()
若是未捕獲到add()方法中發生的異常,則它將移至方法add()。而後將其移至main()方法,該處的執行流程中止。這稱爲異常傳播。
答:執行Java程序從公共靜態void main(String args [])開始,也稱爲main()方法。
答: Java編程語言不依賴任何特定的硬件或軟件,由於它是由編譯器編譯而後轉換爲字節碼的。字節碼與平臺無關,能夠在多個系統上運行。惟一的要求是Java須要一個運行時環境,即JRE,它是用於開發Java應用程序的一組工具。
答:包裝器類負責將Java原語轉換爲引用類型(對象)。一個類專用於每種原始數據類型。它們被稱爲包裝器類,由於它們將原始數據類型包裝到該類的對象中。它存在於java.lang包中。下表顯示了不一樣的原始類型,包裝器類。
<table class=""><tbody><tr><td><strong>簡單類型</strong></td><td><strong>包裝類</strong></td></tr><tr><td>boolean</td><td>Boolean</td></tr><tr><td>char</td><td>Character</td></tr><tr><td>double</td><td>Double</td></tr><tr><td>float</td><td>Float</td></tr><tr><td>int</td><td>Integer</td></tr><tr><td>long</td><td>Long</td></tr></tbody></table>
回答:
答:將一種數據類型的變量分配給另外一種數據類型的變量的概念。布爾數據類型是不可能的。
它有兩種類型:
答:不一樣類型的類型轉換是:
讓咱們看一下代碼示例,以進一步瞭解這一點:
int i = 10; long l = i; long l = 10,000; int i = (int) l; float f = 3.14f int i = (int) f; i=3; long l = 123456789; byte b = (byte) l;
答:是的,Java只容許經過.java保存咱們的java文件。它由javac .java編譯,並由java類名運行。
讓咱們舉一個簡單的例子:
public class Any() { public static void main(String args[]) { System.out.println("Hello bjbsair.com!"); } }
編譯:javac.java
運行:java Any
答: Singleton類僅容許建立該類的一個實例。
能夠經過如下步驟使一個類成爲單例:
用該類建立該類的靜態實例。
經過不容許用戶經過定義私有構造函數來使用默認構造函數建立實例。
建立一個靜態方法以返回A實例的對象。
public class Singleton { public static void main(String args[]) { Single obj1 = Single.getInstance(); /* both would point to one and same instance of the class */ Single obj2 = Single.getInstance(); } } class Single { static Single obj = new Single(); /* step a*/ private Single() /* step b*/ { } public static Single getInstance() { return obj; /* step c*/ } }
答:是的,程序的編譯和運行不會出現任何錯誤,由於說明符的順序可有可無。
答:包是Java將各類類和/或接口組合在一塊兒的方式。對象的功能決定了如何對其進行分組。打包程序充當類的「容器」。
下面列出了Packages的優勢:
回答
Equals() | == |
---|---|
是一個字符串類 | 是操做符 |
比較的是內容 | 比較的是地址 |
class Operator { public static void main(String[]args) { /* integer-type*/ System.out.println(10 == 20); /* char-type*/ System.out.println('a' == 'b'); /* char and double type*/ System.out.println('a' == 97.0); /* boolean type*/ System.out.println(true == true); }} |
public class Equals{ public static void main(String[] args) { String s1 = new String("HELLO"); String s2 = new String("HELLO"); System.out.println(s1 == s2); System.out.println(s1.equals(s2)); }} |
答:指針被認爲是不安全的,並增長了程序的複雜性,添加
指針的概念多是矛盾的。並且,JVM負責隱式內存分配;所以,爲避免用戶直接訪問內存,在Java中不建議使用指針。
答
<table class=""><tbody><tr><td><strong>break</strong></td><td><strong>continue</strong></td></tr><tr><td>與循環和開關語句一塊兒使用</td><td>與僅循環語句一塊兒使用。</td></tr><tr><td>它終止循環或開關塊。</td><td>它不會終止,但會跳到下一個迭代。</td></tr></tbody></table>
<table class=""><tbody><tr><td><strong>this()</strong></td><td><strong>super()</strong></td></tr><tr><td>表示該類的當前實例。</td><td>表示父/基類的當前實例。</td></tr><tr><td>它用於調用同一類的默認構造函數</td><td>它用於調用父/基類的默認構造函數。</td></tr><tr><td>訪問當前類的方法</td><td>訪問基類的方法</td></tr><tr><td>點當前類的實例</td><td>指向超類實例。</td></tr><tr><td>必須是該塊的第一行</td><td>它必須是該塊的第一行。</td></tr></tbody></table>
答:堆內存中存儲的字符串集合是指字符串池。每當建立新對象時,都會檢查它是否已存在於字符串池中。若是已經存在,則將相同的引用返回到變量,不然在字符串池中建立新對象,並返回相應的引用。
答:訪問修飾符是Java中的預約義關鍵字,用於限制對另外一個類中的類,方法,構造函數和數據成員的訪問。
Java支持四個訪問修飾符:
<table class=""><tbody><tr><td><strong>編輯</strong></td><td><strong>默認</strong></td><td><strong>私有</strong></td><td><strong>受保護的</strong></td><td><strong>公開</strong></td></tr><tr><td>同類</td><td>是</td><td>是</td><td>是</td><td>是</td></tr><tr><td>相同的包子類</td><td>是</td><td>沒有</td><td>是</td><td>是</td></tr><tr><td>同一包非子類</td><td>是</td><td>沒有</td><td>是</td><td>是</td></tr><tr><td>不一樣的包子類</td><td>沒有</td><td>沒有</td><td>是</td><td>是</td></tr><tr><td>不一樣的包非子類</td><td>沒有</td><td>沒有</td><td>沒有</td><td>是</td></tr></tbody></table>
答:若是子類或子類有兩個父類,這意味着它從兩個基類繼承屬性,則它是多重繼承。Java沒有多重繼承,以防萬一父類具備相同的方法名稱,那麼在運行時它就變得模棱兩可,而且編譯器沒法決定從子類執行哪一個方法。
答:
public class Reversal { public static void main(String args[]) { String input = "bjbsair.com"; System.out.println("Given String -> " + "bjbsair.com"); char charArray[] = input.toCharArray(); System.out.println("Reversed String -> "); for(int i = charArray.length-1;i>=0; i--) { System.out.print(charArray[i]); } System.out.println(); } }
答:
import java.util.ArrayList; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; class RemoveDuplicates { public static void main(String args[]) { /*create ArrayList with duplicate elements*/ ArrayList duplicate = new ArrayList(); duplicate.add(5); duplicate.add(7); duplicate.add(1); duplicate.add(4); duplicate.add(1); duplicate.add(7); System.out.println("bjbsair.com: "+ duplicate); Set <Integer> withoutDuplicates = new LinkedHashSet<Integer>(duplicate); duplicate.clear(); duplicate.addAll(withoutDuplicates); System.out.println("Array without duplicates: "+ duplicate); } }
import java.util.Scanner; public class NumberReversal { public static void main(String args[]) { System.out.println("Please enter the number to be reversed"); Scanner sc = new Scanner (System.in); int number = sc.nextInt(); int reverse = reverse(number); System.out.println("Reverse of number: " + number + " is " + reverse(number)); } public static int reverse(int number){ int reverse = 0; int remainder = 0; do{ remainder = number%10; reverse = reverse*10 + remainder; number = number/10; }while(number > 0); return reverse; } }
答:
import java.util.Scanner; import java.util.Arrays; public class Binary { public static void main(String[] args) { System.out.println("Enter total number of elements : "); Scanner s = new Scanner (System.in); int length = s.nextInt(); int[] input = new int[length]; System.out.printf("Enter %d integers", length); for (int i = 0; i < length; i++) { input[i] = s.nextInt(); } /* binary search requires the input array to be sorted so we must sort the array first*/ Arrays.sort(input); System.out.print("the sorted array is: "); for(int i= 0; i<= length-1;i++) { System.out.println(input[i] + " ,"); } System.out.println("Please enter number to be searched in sorted array"); int key = s.nextInt(); int index = BSearch(input, key); if (index == -1) { System.out.printf("Sorry, %d is not found in array %n", key); } else { System.out.printf("%d is found in array at index %d %n", key, index); } } public static int BSearch(int[] input, int number) { int low = 0; int high = input.length - 1; while (high >= low) { int middle = (low + high) / 2; if (input[middle] == number) { return middle; } else if (input[middle] < number) { low = middle + 1; } else if (input[middle] > number) { high = middle - 1; } } return -1; } }
import java.util.Scanner; public class Prime { public static void main(String args[]) { System.out.println("Enter the number to check: "); Scanner sc = new Scanner(System.in); int num = sc.nextInt(); boolean isPrime = false; if(num!=0) { isPrime = checkPrime(num); }else { System.out.println("Enter valid number"); } if(isPrime == false) { System.out.println(" NOT PRIME!!"); } else { System.out.println("PRIME!!"); } } public static boolean checkPrime(int number) { int sqrt = (int) Math.sqrt(number) + 1; for(int i = 2; i<sqrt; i++) { if(number % i== 0) { return false; } } return true; } }
答:
import java.util.Scanner; public class Fibo { public static void main(String args[]) { System.out.println("Enter the number upto which Fibonacci series should be printed "); Scanner sc = new Scanner(System.in); int num = sc.nextInt(); System.out.println("Fibonacci Series upto %d is" + num); for(int i=1; i<=num; i++) { System.out.print(fib(i) + " "); } } public static int fib(int n) { if(n ==1 || n==2) { return 1; } return fib(n-1) + fib(n-2); } }
答:
import java.util.Scanner; public class PalinDrome { public static void main(String args[]) { System.out.println("Enter the string to check"); Scanner sc = new Scanner(System.in); String str = sc.nextLine(); boolean isPalindrome; isPalindrome = checkPalindrome(str); if(str.equals(" ")) { System.out.println("Enter valid string"); } else { if(isPalindrome) { System.out.println("PALINDROME!!"); } else { System.out.println("NOT A PALINDROME!!"); } } } public static boolean checkPalindrome(String input) { int str_length = input.length(); int i=0, j= str_length-1; while(i<j) { if(input.charAt(i) != input.charAt(j)) return false; i++; j--; } return true; } }
答:
public class Pattern { public static void main(String args[]) { for(int i=5; i>=0; i--) { System.out.println(); for(int j=i; j<5;j++) { System.out.print(" * "); } } System.out.println(); } }
問題:圖案印刷
<strong> </strong><br><strong> </strong><br><strong> </strong><br><strong> </strong><br><strong> * </strong>
答:
import java.util.Scanner; public class Swap { public static void main(String args[]) { Scanner s = new Scanner(System.in); System.out.println("Enter a number: "); int a = s.nextInt(); System.out.println("Enter second number: "); int b = s.nextInt(); System.out.println("Value of a and b before swapping: " + "a = " +a + " b = " + b); swap(a,b); } public static void swap(int a , int b) { int swap_variable; swap_variable = a; a = b; b = swap_variable; System.out.println("Value of a and b after swapping: " + "a = " +a + " b = " + b); } }
答:
import java.util.Scanner; public class Swap { public static void main(String args[]) { Scanner s = new Scanner(System.in); System.out.println("Enter a number: "); int a = s.nextInt(); System.out.println("Enter second number: "); int b = s.nextInt(); System.out.println("Value of a and b before swapping: " + "a = " +a + " b = " + b); swap(a,b); } public static void swap(int a , int b) { int swap_variable; swap_variable = a; a = b; b = swap_variable; System.out.println("Value of a and b after swapping: " + "a = " +a + " b = " + b); } }
import java.util.Scanner; public class Armstrong { public static void main(String args[]) { Scanner s = new Scanner(System.in); System.out.println("Enter a number: "); int number = s.nextInt(); int a=number, sum = 0, num=0; while(a%10 !=0) { num = a%10; sum = sum + (num*num*num); a = a/10; } if(sum == number) { System.out.println("Armstrong Number!"); } else { System.out.println("Not an Armstrong Number!"); } } }