top 20 java interview programs
このチュートリアルでは、基本的なJava面接プログラムの大きなリストと、プログラミングとコーディングの面接で尋ねられた実際の論理コードの例を、初心者や経験豊富な候補者に提供しました。
Javaおよび自動化インタビューのテクニカルラウンドで一般的に尋ねられる重要で基本的なJavaプログラム。
これは現在、インタビュアーが理論的な側面だけに焦点を合わせるのではなく、インタビューで基本的なJavaプログラムを尋ねる一般的な慣習になっています。
このために、いくつかの非常に重要なJavaプログラムを、各プログラムの適切な説明とともにリストアップするというアイデアを思いつきました。
さらに、そのプログラムがどのように機能したかについての公正なアイデアを提供するそれぞれの出力も含まれています。プログラムの流れと概念は、この記事全体を通して可能な限り適切に説明されています。
最も人気のあるJavaプログラミングインタビューの質問
最も人気のあるJavaプログラミングインタビューの質問と回答のリストを以下に説明します。これらの質問は、自動化インタビューを正常にクリアするのに役立ちます。
推奨読書=>カバーしました コアJavaインタビューの質問 ここの以前の記事で。
Q#1)文字列組み込み関数を使用せずに文字列を逆にするJavaプログラムを作成します。
回答: ここでは、文字列変数strを初期化し、文字列ビルダークラスを利用しています。
文字列ビルダークラスstr2のオブジェクトは、文字列変数strに格納されている値を追加するためにさらに使用されます。
その後、文字列ビルダーの組み込み関数(reverse())を使用して、新しい反転文字列をstr2に格納します。最後に、str2を印刷しています。
次のプログラムコードはこれを説明しています:
public class FinalReverseWithoutUsingStringMethods { public static void main(String() args) { // TODO Auto-generated method stub String str = 'Automation'; StringBuilder str2 = new StringBuilder(); str2.append(str); str2 = str2.reverse(); // used string builder to reverse System.out.println(str2); } }
出力:
noitamotuA
Q#2)文字列組み込み関数reverse()を使用せずに文字列を逆にするJavaプログラムを作成します。
回答: 他の文字列組み込み関数の使用が許可されている場合、文字列を逆にする方法はいくつかあります。
方法1:
このメソッドでは、指定された文字列の値を使用してstrという文字列変数を初期化します。次に、toCharArray()関数を使用して、その文字列を文字配列に変換します。その後、forループを使用して、各文字を逆の順序で繰り返し、各文字を出力します。
public class FinalReverseWithoutUsingInbuiltFunction { public static void main(String() args) { String str = 'Saket Saurav'; char chars() = str.toCharArray(); // converted to character array and printed in reverse order for(int i= chars.length-1; i>=0; i--) { System.out.print(chars(i)); } } }
出力:
予備在庫
方法2:
これは、文字列変数strを宣言してから、Scannerクラスを使用して、事前定義された標準入力オブジェクトでオブジェクトを宣言する別のメソッドです。
このプログラムは、コマンドラインから文字列値を受け入れます(実行時)。
文字列の単語の間にスペースを入れて入力を読み取るnextLine()を使用しました。その後、split()メソッドを使用して、文字列を部分文字列に分割しました(ここでは区切り文字は指定されていません)。最後に、forループを使用して文字列を逆の順序で出力しました。
import java.util.Scanner; public class ReverseSplit { public static void main(String() args) { // TODO Auto-generated method stub String str; Scanner in = new Scanner(System.in); System.out.println('Enter your String'); str = in.nextLine(); String() token = str.split(''); //used split method to print in reverse order for(int i=token.length-1; i>=0; i--) { System.out.print(token(i) + ''); } } }
出力:
.swfファイルの再生方法
文字列を入力してください
Softwaretestinghelp
plehgnitseterawtfoS
方法3:
これはメソッド2とほとんど同じですが、ここではsplit()メソッドを使用しませんでした。入力文字列の読み取りには、スキャナークラスとnextLine()を使用しました。次に、入力文字列の長さを持つ整数の長さを宣言しました。
その後、forループを使用して文字列を逆の順序で出力しました。ただし、特定のインデックスの文字を返すcharAt(index)メソッドを使用しました。各反復の後、文字は連結されて文字列変数が逆になります。
最後に、逆文字列変数を出力しました。
import java.util.Scanner; public class Reverse { public static void main(String() args) { // TODO Auto-generated method stub String original, reverse = ''; System.out.println('Enter the string to be reversed'); Scanner in = new Scanner(System.in); original = in.nextLine(); int length = original.length(); for(int i=length-1; i>=0; i--) { reverse = reverse + original.charAt(i); //used inbuilt method charAt() to reverse the string } System.out.println(reverse); } }
出力:
反転する文字列を入力してください
自動化テスト
gnitset noitamotua
Q#3) 3番目の変数を使用して2つの数値を交換するJavaプログラムを作成します。
回答: この例では、Scannerクラスを使用して、事前定義された標準入力オブジェクトでオブジェクトを宣言しました。このプログラムは、コマンドラインからxとyの値を受け入れます(実行時)。
ユーザーから整数変数「x」と「y」の値を入力するnextInt()を使用しました。一時変数も宣言されています。
これで、プログラムのロジックは次のようになります。tempまたは3番目の変数にxの値を割り当て、次にxにyの値を割り当て、yにtempの値を割り当てます。したがって、最初の完全な反復の後、tempの値はx、xの値はy、yの値はtemp(x)になります。
import java.util.Scanner; public class SwapTwoNumbers { public static void main(String() args) { // TODO Auto-generated method stub int x, y, temp; System.out.println('Enter x and y'); Scanner in = new Scanner(System.in); x = in.nextInt(); y = in.nextInt(); System.out.println('Before Swapping' + x + y); temp = x; x = y; y = temp; System.out.println('After Swapping' + x + y); } }
出力:
xとyを入力してください
フォーファイブ
98
交換前4598
交換後9845
Q#4) 3番目の変数を使用せずに2つの数値を交換するJavaプログラムを作成します。
回答: 残りはすべて上記のプログラムと同じになります。ロジックのみが変更されます。ここでは、xに値x + yを割り当てています。これは、xがxとyの両方の合計を持つことを意味します。
次に、yに値x – yを割り当てます。これは、(x + y)の合計からyの値を減算することを意味します。ここまで、xにはxとyの両方の合計があります。ただし、yの値はxです。
最後に、3番目のステップでは、xに値x – yを割り当てます。これは、合計(x + y)からy(xの値を持つ)を減算することを意味します。これにより、xにyの値が割り当てられ、その逆も同様です。
import java.util.Scanner; class SwapTwoNumberWithoutThirdVariable { public static void main(String args()) { int x, y; System.out.println('Enter x and y'); Scanner in = new Scanner(System.in); x = in.nextInt(); y = in.nextInt(); System.out.println('Before Swapping
x = '+x+'
y = '+y); x = x + y; y = x - y; x = x - y; System.out.println('After Swapping without third variable
x = '+x+'
y = '+y); } }
出力:
xとyを入力してください
フォーファイブ
98
交換する前に
x = 45
y = 98
3番目の変数なしでスワッピングした後
x = 98
y = 45
Q#5) HashMapを使用して文字列内の単語数をカウントするJavaプログラムを作成します。
回答: これは、文字列を格納するためにHashMapを使用したコレクションクラスプログラムです。
まず、strという文字列変数を宣言しました。次に、文字列内の複数の単語を分割できるように、単一のスペースで区切られたsplit()関数を使用しました。
その後、HashMapを宣言し、forループを使用して繰り返しました。 forループの内部には、if-elseステートメントがあります。このステートメントでは、特定の位置にマップにキーが含まれている場合は常に、その位置にカウンターを設定し、オブジェクトをマップに追加します。
毎回、カウンターは1ずつ増加します。それ以外の場合、カウンターは1に設定されます。
最後に、HashMapを印刷しています。
注意: 同じプログラムを使用して、文字列の文字数を数えることができます。 String () split = str.split(“”);で1つのスペースを削除する(splitメソッドで区切られたスペースを削除する)だけです。
import java.util.HashMap; public class FinalCountWords { public static void main(String() args) { // TODO Auto-generated method stub String str = 'This this is is done by Saket Saket'; String() split = str.split(' '); HashMap map = new HashMap(); for (int i=0; i 出力:
{Saket = 2、by = 1、this = 1、This = 1、is = 2、done = 1}
Q#6) Whileを使用してHashMapを反復し、forループを進めるJavaプログラムを作成します。
回答: ここでは、put()関数を使用してHashMapに3つの要素を挿入しました。
マップのサイズは、size()メソッドを使用して取得できます。その後、Whileループを使用して、要素ごとに1つのキーと値のペアを含むマップを反復処理しました。キーと値は、getKey()とgetValue()を介して取得できます。
同様に、HashMapの「me2」オブジェクトがある高度なforループを使用しました。
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapIteration { public static void main(String() args) { // TODO Auto-generated method stub HashMap map = new HashMap (); map.put(2, 'Saket'); map.put(25, 'Saurav'); map.put(12, 'HashMap'); System.out.println(map.size()); System.out.println('While Loop:'); Iterator itr = map.entrySet().iterator(); while(itr.hasNext()) { Map.Entry me = (Map.Entry) itr.next(); System.out.println('Key is ' + me.getKey() + ' Value is ' + me.getValue()); } System.out.println('For Loop:'); for(Map.Entry me2: map.entrySet()) { System.out.println('Key is: ' + me2.getKey() + ' Value is: ' + me2.getValue()); } } }
出力:
3
Whileループ:
キーは2です値はサケットです
キーは25です値はSauravです
キーは12です値はHashMapです
Forループ:
キーは:2値は:サケット
キーは:25値は:Saurav
キーは:12値は:HashMap
Q#7) 数が素数であるかどうかを調べるJavaプログラムを作成します。
回答: ここでは、tempとnumの2つの整数を宣言し、nextIntでScannerクラスを使用しました(整数のみがあるため)。
1つのブール変数isPrimeがtrueに設定されます。その後、2から始まるforループを使用しました。入力された数の半分未満が、反復ごとに1ずつ増加します。 Tempには、反復ごとに残りがあります。余りが0の場合、isPrimeはFalseに設定されます。
isPrime値に基づいて、私たちの数が素数であるかどうかという結論に達しています。
import java.util.Scanner; public class Prime { public static void main(String() args) { // TODO Auto-generated method stub int temp, num; boolean isPrime = true; Scanner in = new Scanner(System.in); num = in.nextInt(); in.close(); for (int i = 2; i<= num/2; i++) { temp = num%i; if (temp == 0) { isPrime = false; break; } } if(isPrime) System.out.println(num + 'number is prime'); else System.out.println(num + 'number is not a prime'); } }
出力:
445
445numberは素数ではありません
Q#8) 文字列または数値が回文であるかどうかを確認するJavaプログラムを作成します。
回答: 上で説明した逆文字列プログラムのいずれかを使用して、番号または文字列が回文であるかどうかを確認できます。
あなたがする必要があるのは、1つのif-elseステートメントを含めることです。元の文字列が逆の文字列と等しい場合、その番号は回文です。それ以外の場合はそうではありません。
import java.util.Scanner; public class Palindrome { public static void main (String() args) { String original, reverse = ''; Scanner in = new Scanner(System.in); int length; System.out.println('Enter the number or String'); original = in.nextLine(); length = original.length(); for (int i =length -1; i>;=0; i--) { reverse = reverse + original.charAt(i); } System.out.println('reverse is:' +reverse); if(original.equals(reverse)) System.out.println('The number is palindrome'); else System.out.println('The number is not a palindrome'); } }
出力:
文字列の場合-
番号または文字列を入力してください
ビジェイ
逆は:yajiv
数は回文ではありません
番号の場合-
番号または文字列を入力してください
99
逆は:99
数は回文です
Javaでfloatを使用する方法
Q#9) フィボナッチ数列のJavaプログラムを作成します。
回答: フィボナッチ数列は、最初の2つの数の後、出現するすべての数が2つの先行する数の合計である一連の数です。
例えば 0、1、1、2、3、5、8、13、21………
このプログラムでは、nextInt(上記で説明)でScannerクラスを再度使用しました。最初に、フィボナッチが反復しなければならない回数を(コマンドラインから)入力します。整数numを宣言し、a、bを0で、cを1で初期化しました。次に、forループを使用して反復しました。
ロジックは、aがbの値0で設定され、次にbがcの値1で設定されるようになります。次に、cはaとbの両方の合計で設定されます。
import java.util.Scanner; public class Fibonacci { public static void main(String() args) { int num, a = 0,b=0, c =1; Scanner in = new Scanner(System.in); System.out.println('Enter the number of times'); num = in.nextInt(); System.out.println('Fibonacci Series of the number is:'); for (int i=0; i 出力:
回数を入力してください
10
数のフィボナッチ数列は次のとおりです。
0
1
1
二
3
5
8
13
21
3. 4
Q#10) forループ、whileループ、およびadvanceforループを使用してArrayListを反復するJavaプログラムを作成します。
回答: このプログラムでは、3つの要素を挿入し、ArrayListのサイズを出力しました。
次に、イテレータでWhileループを使用しました。イテレータに(次の)要素がある場合は常に、リストの最後に到達するまでその要素を表示します。したがって、3回繰り返されます。
同様に、Advanced For Loopの場合、listというArrayListのobjというオブジェクトを作成しました。次に、オブジェクトを印刷しました。
その後、イテレータiが0インデックスに設定されるForループの条件を設定し、ArrayListの制限またはサイズに達するまで1ずつインクリメントします。最後に、Forループの反復ごとにget(index)メソッドを使用して各要素を出力しました。
import java.util.*; public class arrayList { public static void main(String() args) { ArrayList list = new ArrayList(); list.add('20'); list.add('30'); list.add('40'); System.out.println(list.size()); System.out.println('While Loop:'); Iterator itr = list.iterator(); while(itr.hasNext()) { System.out.println(itr.next()); } System.out.println('Advanced For Loop:'); for(Object obj : list) { System.out.println(obj); } System.out.println('For Loop:'); for(int i=0; i 出力:
3
Whileループ:
20
30
40
Advanced For Loop:
20
30
40
Forループ:
20
30
40
Q#11) 明示的な待機条件チェックを示すJavaプログラムを作成します。
回答: 待機には、暗黙的と明示的の2つの主要なタイプがあります。 (このプログラムではFluent待機を考慮していません)
暗黙的な待機とは、条件に関係なく実行される待機です。以下のプログラムでは、これがGoogle Chrome用であり、いくつかの組み込みメソッドを使用して、プロパティの設定、ウィンドウの最大化、URLナビゲーション、およびWeb要素の検索を行っていることがわかります。
WebDriverWait wait = new WebDriverWait(driver, 20); WebElement element2 = wait.until(ExpectedConditions.visibilityOfElementLocated(By.partialLinkText('Software testing - Wikipedia'))); element2.click();
上記のコードでは、WebDriverWaitを待機するオブジェクトを作成してから、element2というWebElementを検索したことがわかります。
条件は、Webページに「ソフトウェアテスト–ウィキペディア」というリンクが表示されるまでWebドライバーが待機する必要があるように設定されています。このリンクが見つからない場合は実行されません。含まれている場合は、そのリンクをマウスでクリックします。
package Codes; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.support.ui.ExpectedConditions; import org.openqa.selenium.support.ui.WebDriverWait; public class explicitWaitConditionCheck { public static void main(String() args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver', 'C:\webdriver\chromedriver.exe'); ChromeOptions options = new ChromeOptions(); options.addArguments('--disable-arguments'); WebDriver driver = new ChromeDriver(); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.navigate().to('https://www.google.com'); WebElement element = driver.findElement(By.name('q')); element.sendKeys('Testing'); element.submit(); WebDriverWait wait = new WebDriverWait(driver, 20); WebElement element2 = wait.until(ExpectedConditions.visibilityOfElementLocated(By.partialLinkText('Software testing - Wikipedia'))); element2.click(); }}
Q#12) 上スクロール/下スクロールを示すJavaプログラムを作成します。
回答: 前の例で説明したように、コードのすべての行は簡単に関連付けることができます。
ただし、このプログラムには、スクロールを実行するJavascriptExecutorjsが含まれています。コードの最後の行が表示されている場合は、window.scrollBy(arg1、arg2)を渡しました。
上にスクロールしたい場合はarg1に値を渡し、下にスクロールしたい場合はarg2に値を渡します。
package Codes; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class ScrollDown { public static void main(String() args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver', 'C:\webdriver\chromedriver.exe'); WebDriver driver = new ChromeDriver(); JavascriptExecutor js = (JavascriptExecutor) driver; driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.get('https://www.google.com'); WebElement element = driver.findElement(By.name('q')); element.sendKeys('SoftwareTestingHelp'); element.sendKeys(Keys.ENTER); js.executeScript('window.scrollBy(0,1000)'); } }
Q#13) gmail.comのすべてのリンクを開くJavaプログラムを作成します。
回答: これは、以前のプログラムで見た高度なforループの典型的な例です。
get()またはnavigate()。to()を使用してGmailなどのWebサイトを開いたら、tagNameロケーターを使用して、すべてのタグを返すWebサイトのタグ名を見つけることができます。
リンク用の新しいWebElementlink2を作成したforループを進めました(すでにすべてのタグが配置されています)。次に、getAttribute( 'href')を介してすべてのリンクを取得し、getText()を介してすべてのテキストを取得しました。
package Codes; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class openAllLinks { public static void main(String() args) { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.drive', 'C:\webdriver\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.manage().window().maximize(); driver.get('https://www.gmail.com/'); java.util.List link = driver.findElements(By.tagName('a')); System.out.println(link.size()); for (WebElement link2: link) { //print the links i.e. http://google.com or https://www.gmail.com System.out.println(link2.getAttribute('href')); //print the links text System.out.println(link2.getText()); } } }
出力:
ポート16163でChromeDriver2.38.551601(edb21f07fc70e9027c746edd3201443e011a61ed)を起動しています
ローカル接続のみが許可されます。
4
https://support.google.com/chrome/answer/6130773?hl=en-GB
もっと詳しく知る
https://support.google.com/accounts?hl=en-GB
助けて
https://accounts.google.com/TOS?loc=IN&hl=en-GB&privacy=true
プライバシー
https://accounts.google.com/TOS?loc=IN&hl=en-GB
条項
Q#14) Seleniumコードを記述して、前のタブに切り替えます。
回答: Robotクラスの使用法を示しました。ショートカットキーを知っていれば、ブラウザとそのタブ内でさまざまなナビゲーションを実現できるため、これは重要なサードパーティと見なされます。
例えば 、Chromeで3つのタブを開いていて、中央のタブに移動する場合は、キーボードからcontrol +2を押す必要があります。同じことは、コードでも実現できます。
次のコードを確認します(Robotクラスのインスタンス化を確認した直後)。 2つの組み込みメソッドkeyPress(KeyEvenet.VK_ *)とkeyRelease(KeyEvenet.VK_ *)を持つrobotと呼ばれるRobotクラスオブジェクトを使用しました。
package Codes; import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.Keys; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; public class PreviousTab { public static void main(String() args) throws AWTException { // TODO Auto-generated method stub System.setProperty('webdriver.chrome.driver', 'C:\webdriver\chromedriver.exe'); WebDriver driver = new ChromeDriver(); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); driver.get('https://www.google.com'); WebElement element1 = driver.findElement(By.name('q')); element1.sendKeys('software testing help'); element1.sendKeys(Keys.ENTER); String a = Keys.chord(Keys.CONTROL,Keys.RETURN); driver.findElement(By.partialLinkText('Software Testing Help - A Must Visit Software Testing Portal')).sendKeys(a); Robot robot = new Robot(); // instantiated robot class robot.keyPress(KeyEvent.VK_CONTROL); // with robot class you can easily achieve anything if you know the shortcut keys robot.keyPress(KeyEvent.VK_2); // here, we have just pressed ctrl+2 robot.keyRelease(KeyEvent.VK_CONTROL); // once we press and release ctrl+2, it will go to the second tab. robot.keyRelease(KeyEvent.VK_2); //if you again want to go back to first tab press and release vk_1 } }
Q#15) 文字列内の重複文字を見つけるJavaプログラムを作成します。
回答: このプログラムでは、文字列変数strを作成し、整数カウントをゼロで初期化しました。
次に、文字列変数を文字に変換する文字配列を作成しました。 forループの助けを借りて、異なるインデックスの異なる文字間の比較を実行しています。
連続するインデックスの2つの文字が一致する場合、その文字が出力され、各反復後にカウンターが1ずつ増加します。
public class DuplicateCharacters { public static void main(String() args) { // TODO Auto-generated method stub String str = new String('Sakkett'); int count = 0; char() chars = str.toCharArray(); System.out.println('Duplicate characters are:'); for (int i=0; i 出力:
重複する文字は次のとおりです。
に
t
Q#16) 配列内で2番目に大きい数を見つけるJavaプログラムを作成します。
回答: このプログラムでは、10個のランダムな要素で配列を初期化し、その中から2番目に大きい数を見つけます。ここでは、最大と2番目に大きい2つの整数があります。どちらも要素の最初のインデックスに設定されます。次に、forループを使用してすべての要素を出力しました。
ここで、ロジックは、0番目のインデックスの要素が最大値よりも大きい場合に、arr (0)を最大値に割り当て、secondLargestを最大値に割り当てます。ここでも、0番目のインデックスの要素がsecondLargestより大きい場合は、secondLargestをarr (0)に割り当てます。
これは反復ごとに繰り返され、最終的には配列の長さまでの反復を比較または完了した後、secondLargest要素が得られます。
package codes; public class SecondHighestNumberInArray { public static void main(String() args) { int arr() = { 100,14, 46, 47, 94, 94, 52, 86, 36, 94, 89 }; int largest = 0; int secondLargest = 0; System.out.println('The given array is:'); for (int i = 0; i secondLargest) { secondLargest = arr(i); } } System.out.println('
Second largest number is:' + secondLargest); System.out.println('Largest Number is: ' +largest); } }
出力:
指定された配列は次のとおりです。
100 14 46 47 94 94 52 86 36 94 89
2番目に大きい数は:94
最大数は:100
Q#17) アームストロング数をチェックするJavaプログラムを作成します。
回答: まず、アームストロング数とは何かを理解する必要があります。アームストロング数は、そのすべての単位の立方体の合計である数であり、3桁の数の場合は10桁と100桁です。
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 = 1 + 125 + 27 = 153
あなたが4桁の番号を持っているなら、
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4 = 1 + 1296 + 81 + 256 = 1634
さて、このプログラムでは、tempと整数が宣言されています。 cを値0で初期化しました。次に、Armstrongをチェックする整数値を割り当てる必要があります(この場合、153としましょう)。次に、チェックする番号を一時変数に割り当てました。
その後、余りをaに割り当て、数を10で割ってnに割り当てる条件付きチェックを使用しました。ここで、最初にゼロに設定されたc変数にc +(a * a * a)が割り当てられます。 4桁の数値を評価する必要があるとすると、cにはc +(a * a * a * a)を割り当てる必要があります。
最後に、条件付きチェック用のif-elseステートメントを配置し、cに含まれる値をtemp(この時点で実際の数値が格納されている)と比較しました。一致する場合、番号はアームストロングです。それ以外の場合は一致しません。
class Armstrong{ public static void main(String() args) { int c=0,a,temp; int n=153;//It is the number to check Armstrong temp=n; while(n>0) { a=n%10; n=n/10; c=c+(a*a*a); } if(temp==c) System.out.println('armstrong number'); else System.out.println('Not armstrong number'); } }
出力:
アームストロング数
Q#18) replace()を使用して、文字列からすべての空白を削除するJavaプログラムを作成します。
回答: これは、文字列変数str1がある単純なプログラムです。
別の文字列変数str2は、n個の空白を削除するための組み込みメソッドであるreplaceAllオプションで初期化されます。最終的に、空白のないstr2を印刷しました。
class RemoveWhiteSpaces { public static void main(String() args) { String str1 = 'Saket Saurav is a QualityAna list'; //1. Using replaceAll() Method String str2 = str1.replaceAll('\s', ''); System.out.println(str2); } } }
出力:
SaketSauravisaQualityAnalist
Q#19) replace()を使用せずに文字列からすべての空白を削除するJavaプログラムを作成します。
回答: これは、すべての空白を削除するための別のアプローチです。ここでも、ある値を持つ1つの文字列変数str1があります。次に、toCharArray()を使用してその文字列を文字配列に変換しました。
次に、forループとif条件を含めた後にchars (i)インデックスに格納された値を追加するために使用される1つのStringBufferオブジェクトsbがあります。
条件がそのように設定されている場合、文字配列のiインデックスの要素はスペースまたはタブと等しくてはなりません。最後に、StringBufferオブジェクトsbを出力しました。
class RemoveWhiteSpaces { public static void main(String() args) { String str1 = 'Saket Saurav is an Autom ation Engi ne er'; char() chars = str1.toCharArray(); StringBuffer sb = new StringBuffer(); for (int i = 0; i 出力:
SaketSauravisanAutomationEngineer
Q#20) エクセルを読むためのJavaプログラムを書く。
回答: これらのタイプのプログラムは、通常、Seleniumフレームワークで使用されます。プログラムをより理解しやすくするために、すべてのステップに詳細なコメントを追加しました。
データが保存されているシートをロードした後、ロジックが開始されます。メールアドレスとパスワードをインポートしようとしています。このために、getRow()およびgetCell()メソッドを使用してセルを取得しています。 1番目と2番目のセルにメールアドレスとパスワードがあるとします。
次に、セルのタイプを文字列に設定します。その後、通常のWeb要素ロケーター操作(By.id)を実行し、これらの要素を識別する「email」や「password」などの一意のロケーター値を渡します。
最後に、element.sendKeysを使用してキーを送信します。ここで、cell.getStringCellValue()がキーです。これにより、セル番号1と2にそれぞれ格納されている値が返されます。
@Test public void ReadData() throws IOException { // Import excel sheet from a webdriver directory which is inside c drive. //DataSource is the name of the excel File src=new File('C:\webdriver\DataSource.xls'); //This step is for loading the file. We have used FileInputStream as //we are reading the excel. In case you want to write into the file, //you need to use FileOutputStream. The path of the file is passed as an argument to FileInputStream FileInputStream finput = new FileInputStream(src); //This step is to load the workbook of the excel which is done by global HSSFWorkbook in which we have //passed finput as an argument. workbook = new HSSFWorkbook(finput); //This step is to load the sheet in which data is stored. sheet= workbook.getSheetAt(0); for(int i=1; i<=sheet.getLastRowNum(); i++) { // Import data for Email. cell = sheet.getRow(i).getCell(1); cell.setCellType(Cell.CELL_TYPE_STRING); driver.findElement(By.id('email')).sendKeys(cell.getStringCellValue()); // Import data for the password. cell = sheet.getRow(i).getCell(2); cell.setCellType(Cell.CELL_TYPE_STRING); driver.findElement(By.id('password')).sendKeys(cell.getStringCellValue()); } }
結論
この記事では、すべての重要な基本的なJavaインタビュープログラムについて、Javaプログラミングインタビューで求められているコード例を使用して説明しました。
文字列、整数、文字の基本的な操作、Seleniumコード、ファイルからのデータの読み取り、コードを介した数学シリーズなど、すべてのJavaのトリックを学びました。これで、Javaインタビューを行う方法について十分な知識が得られました。
また読む=> JavaOOPインタビューの質問と回答
がんばろう :)
推奨読書