top 20 java interview programs
V tomto výukovém programu jsme poskytli velký seznam základních pohovorových programů v jazyce Java s příklady skutečných logických kódů požadovaných v programovacích a kódovacích rozhovorech pro nováčky a zkušené kandidáty.
Důležité a základní programy Java, které jsou obvykle vyžadovány v technickém kole rozhovorů Java a Automation Interviews.
To se nyní stalo běžnou praxí tazatelů, když se v rozhovorech ptali na základní programy Java, místo aby se zaměřovali pouze na teoretické aspekty.
Za tímto účelem jsme přišli s nápadem vyjmenovat několik velmi důležitých programů Java spolu se správným vysvětlením každého programu.
Kromě toho jsme také zahrnuli příslušné výstupy, které vám poskytnou věrnou představu o tom, jak tento program fungoval. Průběh programu a koncepty jsou v tomto článku řádně vysvětleny, kdykoli je to možné.
Nejoblíbenější otázky ohledně programování v jazyce Java
Níže je vysvětlen seznam nejpopulárnějších otázek a odpovědí na otázky týkající se programování v jazyce Java a tyto otázky vám pomohou úspěšně vymazat jakýkoli rozhovor s automatizací.
Doporučené čtení => Pokryli jsme Základní otázky týkající se rozhovorů s Java v dřívějších článcích zde.
Q # 1) Napište program Java pro obrácení řetězce bez použití funkce String vestavěná.
Odpovědět: Zde inicializujeme řetězcovou proměnnou str a využíváme třídu pro vytváření řetězců.
Objekt třídy str2 builder str2 bude dále použit k přidání hodnoty uložené v řetězcové proměnné str.
Poté používáme vestavěnou funkci nástroje pro tvorbu řetězců (reverse ()) a ukládáme nový obrácený řetězec do str2. Nakonec tiskneme str2.
Následující programový kód vysvětluje toto:
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); } }
Výstup:
noitamotuA
Q # 2) Napište program Java pro obrácení řetězce bez použití funkce String zabudované funkce reverse ().
Odpovědět: Existuje několik způsobů, jak můžete svůj řetězec převrátit, pokud máte povoleno používat ostatní vestavěné funkce řetězce.
Metoda 1:
V této metodě inicializujeme řetězcovou proměnnou nazvanou str s hodnotou vašeho daného řetězce. Potom převádíme tento řetězec na pole znaků pomocí funkce toCharArray (). Poté používáme smyčku for k iteraci mezi jednotlivými znaky v opačném pořadí a k tisku každého znaku.
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)); } } }
Výstup:
náhradní sklad
Metoda 2:
Toto je další metoda, ve které deklarujete svou řetězcovou proměnnou str a poté pomocí třídy skeneru deklarujete objekt s předdefinovaným standardním vstupním objektem.
Tento program přijme hodnotu řetězce prostřednictvím příkazového řádku (při spuštění).
Použili jsme nextLine (), který načte vstup s mezerami mezi slovy řetězce. Poté jsme k rozdělení řetězce na jeho podřetězce použili metodu split () (zde není uveden oddělovač). Nakonec jsme pomocí smyčky for vytiskli řetězec v opačném pořadí.
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) + ''); } } }
Výstup:
Zadejte svůj řetězec
Nápověda k testování softwaru
plehgnitseterawtfoS
Metoda 3:
Je to skoro jako metoda 2, ale zde jsme nepoužili metodu split (). Pro čtení vstupního řetězce jsme použili třídu skeneru a nextLine (). Poté jsme deklarovali celočíselnou délku, která má délku vstupního řetězce.
Poté jsme pomocí smyčky for vytiskli řetězec v opačném pořadí. Použili jsme však metodu charAt (index), která vrátí znak v jakémkoli konkrétním indexu. Po každé iteraci bude znak zřetězen, aby se proměnná řetězce obrátila.
Nakonec jsme vytiskli proměnnou obráceného řetězce.
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); } }
Výstup:
Zadejte řetězec, který má být obrácen
testování automatizace
gnitset noitamotua
Otázka č. 3) Napište program Java a vyměňte dvě čísla pomocí třetí proměnné.
Odpovědět: V tomto příkladu jsme využili třídu Scanner k deklaraci objektu s předdefinovaným standardním vstupním objektem. Tento program bude přijímat hodnoty xay prostřednictvím příkazového řádku (při spuštění).
Použili jsme nextInt (), který od uživatele zadá hodnotu celočíselné proměnné „x“ a „y“. Je deklarována také dočasná proměnná.
Logika programu nyní vypadá takto - přiřadíme temp nebo třetí proměnnou s hodnotou x a poté přiřadíme x hodnotě y a opět přiřadíme y hodnotě temp. Takže po první úplné iteraci bude mít teplota hodnotu x, x bude mít hodnotu y a y bude mít hodnotu temp (což je 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); } }
Výstup:
Zadejte x a y
Čtyři pět
98
Před výměnou 4598
Po výměně 9845
Otázka č. 4) Napište program Java a vyměňte dvě čísla bez použití třetí proměnné.
Odpovědět: Všechny ostatní věci budou stejné jako výše uvedený program. Změní se pouze logika. Zde přiřazujeme x hodnotě x + y, což znamená, že x bude mít součet obou x a y.
Poté přiřadíme y hodnotě x - y, což znamená, že odečteme hodnotu y od součtu (x + y). Dokud zde, x stále má součet obou x a y. Ale y má hodnotu x.
Nakonec ve třetím kroku přiřadíme x hodnotě x - y, což znamená, že odečteme y (které má hodnotu x) od součtu (x + y). Tím se přiřadí x hodnotě y a naopak.
nejlepší dekódovač DVD pro Windows 10
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); } }
Výstup:
Zadejte x a y
Čtyři pět
98
Před výměnou
x = 45
y = 98
Po výměně bez třetí proměnné
x = 98
y = 45
Otázka č. 5) Napište program Java, který pomocí HashMap spočítá počet slov v řetězci.
Odpovědět: Toto je program třídy kolekce, kde jsme pro uložení řetězce použili HashMap.
Nejprve jsme deklarovali naši řetězcovou proměnnou nazvanou str. Pak jsme použili funkci split () ohraničenou jednoduchou mezerou, abychom mohli rozdělit více slov do řetězce.
Poté jsme deklarovali HashMap a iterovali jsme pomocí smyčky for. Uvnitř smyčky for máme příkaz if-else, ve kterém kdekoli na určité pozici mapa obsahuje klíč, nastavíme čítač na tuto pozici a přidáme objekt na mapu.
Počítadlo se pokaždé zvýší o 1. Jinak je čítač nastaven na 1.
Nakonec tiskneme HashMap.
Poznámka: Stejný program lze použít k výpočtu počtu znaků v řetězci. Vše, co musíte udělat, je odstranit jedno místo (odstranit místo oddělené metodou split) v řetězci () split = str.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 Výstup:
{Saket = 2, by = 1, this = 1, This = 1, is = 2, done = 1}
Otázka č. 6) Napište program Java pro iteraci HashMap pomocí While a postoupit o smyčku.
Odpovědět: Tady jsme vložili tři prvky do HashMap pomocí funkce put ().
Velikost mapy lze získat pomocí metody size (). Poté jsme pro iteraci mapou použili smyčku While, která obsahuje jeden pár klíč – hodnota pro každý prvek. Klíče a hodnoty lze načíst pomocí getKey () a getValue ().
Podobně jsme použili smyčku advanced for, kde máme pro objekt HashMap objekt „me2“.
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()); } } }
Výstup:
3
While Loop:
Klíč je 2 Hodnota je Saket
Klíč je 25 Hodnota je Saurav
Klíč je 12 Hodnota je HashMap
Pro smyčku:
Klíč je: 2 Hodnota je: Saket
Klíč je: 25 Hodnota je: Saurav
Klíč je: 12 Hodnota je: HashMap
Otázka č. 7) Napište program Java a zjistěte, zda je číslo prvočíslo nebo ne.
Odpovědět: Zde jsme deklarovali dvě celá čísla temp a num a použili jsme třídu skeneru s nextInt (protože máme pouze celé číslo).
Jedna logická proměnná isPrime je nastavena na true. Poté jsme použili smyčku začínající od 2, je zadána méně než polovina čísla a zvýšena o 1 pro každou iteraci. Temp bude mít zbytek pro každou iteraci. Pokud je zbytek 0, pak isPrime bude nastavena na False.
Na základě hodnoty isPrime přicházíme k závěru, že ať už je naše číslo prvočíselné nebo ne.
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'); } }
Výstup:
445
Číslo 445 není prvočíslo
Otázka č. 8) Napište program Java a zjistěte, zda je řetězec nebo číslo palindrom nebo ne.
Odpovědět: K ověření, zda je číslo nebo řetězec palindrom nebo ne, můžete použít kterýkoli z výše popsaných programů pro reverzní řetězce.
Co musíte udělat, je zahrnout jedno prohlášení if-else. Pokud se původní řetězec rovná obrácenému řetězci, pak je číslo palindrom, jinak ne.
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'); } }
Výstup:
Pro řetězec
Zadejte číslo nebo řetězec
vijay
rub je: yajiv
Číslo není palindrom
Pro číslo
Zadejte číslo nebo řetězec
99
zpět je: 99
Číslo je palindrom
Otázka č. 9) Napište program Java pro řadu Fibonacci.
Odpovědět: Fibonacciho řada je řada čísel, kde po počátečních dvou číslech je každé vyskytující se číslo součtem dvou předchozích čísel.
Například 0,1,1,2,3,5,8,13,21 ………
V tomto programu jsme znovu použili třídu skeneru s nextInt (popsáno výše). Zpočátku zadáváme (prostřednictvím příkazového řádku), kolikrát musí Fibonacci iterovat. Deklarovali jsme celé číslo num a inicializovali a, b nulou a c jednou. Poté jsme použili smyčku k iteraci.
Logika jde tak, že a je nastaveno na hodnotu b, která je 0, pak b je nastaveno na hodnotu c, která je 1. Potom je c nastaveno na součet obou a 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 Výstup:
Zadejte počet opakování
10
Fibonacciho řada čísla je:
0
1
1
dva
3
5
8
13
dvacet jedna
3. 4
Otázka č. 10) Napište program Java pro iteraci ArrayList pomocí smyčky for-loop, while-loop a advance for-loop.
Odpovědět: V tomto programu jsme vložili tři prvky a vytiskli velikost ArrayList.
Potom jsme použili While Loop s iterátorem. Kdykoli má iterátor (další) prvek, bude jej zobrazovat, dokud se nedostaneme na konec seznamu. Takže to bude iterovat třikrát.
Podobně jsme udělali pro Advanced For Loop, kde jsme vytvořili objekt s názvem obj pro seznam s názvem ArrayList. Poté objekt vytiskněte.
Poté jsme nastavili podmínku For Loop, kde je iterátor i nastaven na 0 index, poté se zvyšuje o 1, dokud není dosaženo limitu nebo velikosti ArrayList. Nakonec jsme každý prvek vytiskli pomocí metody get (index) pro každou iteraci For Loop.
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 Výstup:
3
While Loop:
dvacet
30
40
Pokročilé pro smyčku:
dvacet
30
40
Pro smyčku:
dvacet
30
40
Otázka č. 11) Napište program Java, abyste předvedli explicitní kontrolu stavu čekání.
Odpovědět: Existují dva hlavní typy čekání - implicitní a explicitní. (V tomto programu neuvažujeme o plynulém čekání)
Implicitní čekání jsou ta čekání, která se provedou bez ohledu na jakoukoli podmínku. V níže uvedeném programu vidíte, že se jedná o Google Chrome, a k nastavení vlastnosti, maximalizaci okna, navigaci v URL a vyhledání webového prvku jsme použili některé vestavěné metody.
WebDriverWait wait = new WebDriverWait(driver, 20); WebElement element2 = wait.until(ExpectedConditions.visibilityOfElementLocated(By.partialLinkText('Software testing - Wikipedia'))); element2.click();
Ve výše uvedeném kódu vidíte, že jsme vytvořili objekt čekající na WebDriverWait a poté jsme hledali WebElement s názvem element2.
Podmínka je nastavena tak, že webdriver bude muset počkat, až na webové stránce uvidíme odkaz „Testování softwaru - Wikipedia“. Pokud tento odkaz nenajde, neprovede se. Pokud ano, klikne myší na tento odkaz.
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(); }}
Otázka č. 12) Napište program Java, abyste předvedli Posun nahoru / Posun dolů.
Odpovědět: Všechny řádky kódů jsou snadno relatable, jak jsme diskutovali v našem předchozím příkladu.
V tomto programu jsme však zahrnuli náš JavascriptExecutor js, který provede rolování. Pokud vidíte poslední řádek kódu, předali jsme window.scrollBy (arg1, arg2).
Pokud chcete posunout nahoru, pak předejte nějakou hodnotu v arg1, pokud chcete posunout dolů, pak předejte nějakou hodnotu v 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)'); } }
Otázka č. 13) Napište program Java a otevřete všechny odkazy na gmail.com.
Odpovědět: Je to typický příklad pokročilé smyčky, který jsme viděli v našich předchozích programech.
Jakmile otevřete web, například Gmail, pomocí get () nebo navigate (). To (), můžete použít vyhledávač tagName k vyhledání názvu tagu webu, který vrátí všechny tagy.
Pokročili jsme ve smyčce, kde jsme vytvořili nový odkaz WebElement link2 pro odkaz (který již obsahuje všechny značky), pak jsme všechny odkazy dostali pomocí getAttribute („href“) a všechny texty jsme dostali pomocí 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()); } } }
Výstup:
Spouštění ChromeDriver 2.38.551601 (edb21f07fc70e9027c746edd3201443e011a61ed) na portu 16163
Povolena jsou pouze místní připojení.
4
https://support.google.com/chrome/answer/6130773?hl=cs-GB
Zjistit více
https://support.google.com/accounts?hl=cs
Pomoc
https://accounts.google.com/TOS?loc=IN&hl=cs-GB&privacy=true
Soukromí
https://accounts.google.com/TOS?loc=IN&hl=cs-GB
Podmínky
Otázka č. 14) Chcete-li přepnout na předchozí kartu, napište kód selenu.
Odpovědět: Předvedli jsme použití třídy Robot. Vidíme to jako důležitou třetí stranu, protože můžeme znát odlišnou navigaci v prohlížeči a na jeho kartách, pokud znáte klávesové zkratky.
Například , pokud máte ve svém chromu otevřené tři karty a chcete přejít na střední kartu, musíte stisknout klávesu Ctrl + 2 na klávesnici. Totéž lze dosáhnout i prostřednictvím kódu.
Sledujte následující kód (hned poté, co vidíme instanci třídy Robot). jsme použili objekt třídy Robot zvaný robot se dvěma vestavěnými metodami keyPress (KeyEvenet.VK_ *) a keyRelease (KeyEvenet.VK_ *).
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 } }
Otázka č. 15) Napište program Java a vyhledejte duplicitní znaky v řetězci.
Odpovědět: V tomto programu jsme vytvořili řetězcovou proměnnou str a inicializovali celočíselný počet s nulou.
Poté jsme vytvořili pole znaků, které převede naši řetězcovou proměnnou na znak. S pomocí smyčky for provádíme srovnání mezi různými znaky v různých indexech.
Pokud se shodují dva znaky po sobě jdoucích indexů, tento znak se vytiskne a čítač se po každé iteraci zvýší o 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 Výstup:
Duplicitní znaky jsou:
k
t
Otázka č. 16) Napište program Java a vyhledejte druhé nejvyšší číslo v poli.
otázky a odpovědi na pohovor s testováním databáze
Odpovědět: V tomto programu jsme inicializovali pole s 10 náhodnými prvky, z nichž najdeme druhé nejvyšší číslo. Tady máme dvě celá čísla - největší a druhé největší. Oba jsou nastaveny na první index prvku. Poté jsme vytiskli všechny prvky pomocí smyčky for.
Logika nyní spočívá v tom, že když je prvek na 0. indexu větší než největší, pak přiřaďte arr (0) největšímu a secondLargest největšímu. Opět platí, že pokud je prvek na 0. indexu větší než secondLargest, pak přiřadit secondLargest k arr (0).
To se bude opakovat pro každou iteraci a nakonec po porovnání nebo dokončení iterací až do délky pole vám dá secondLargest prvek.
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); } }
Výstup:
Dané pole je:
100 14 46 47 94 94 52 86 36 94 89
Druhé největší číslo je: 94
Největší číslo je: 100
Otázka č. 17) Napište program Java a zkontrolujte číslo Armstronga.
Odpovědět: Nejprve musíme pochopit, co je Armstrong Number. Armstrongovo číslo je číslo, které je součtem kostek celé její jednotky, desítky a stovky číslic pro tříciferná čísla.
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 = 1 + 125 + 27 = 153
Pokud máte čtyřciferné číslo, řekněme
1634 = 1 * 1 * 1 * 1 + 6 * 6 * 6 * 6 + 3 * 3 * 3 * 3 + 4 * 4 * 4 * 4 = 1 + 1296 + 81 + 256 = 1634
Nyní v tomto programu máme deklarovanou teplotu a celá čísla. Inicializovali jsme c s hodnotou 0. Poté musíme přiřadit celočíselnou hodnotu, kterou budeme kontrolovat na Armstronga (v našem případě řekněme 153). Poté jsme naší dočasné proměnné přiřadili číslo, které budeme kontrolovat.
Poté jsme při podmíněné kontrole použili, kde je zbytek přiřazen a a číslo je vyděleno 10 a přiřazeno n. Naše proměnná c, která byla původně nastavena na nulu, je nyní přiřazena c + (a * a * a). Předpokládejme, že musíme vyhodnotit čtyřmístné číslo, pak by c mělo být přiřazeno c + (a * a * a * a).
Nakonec jsme vložili příkaz if-else pro podmíněnou kontrolu, kde jsme porovnali hodnotu obsaženou vc proti temp (která má v tomto okamžiku uložené skutečné číslo). Pokud se shoduje, pak je číslo Armstrong, jinak ne.
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'); } }
Výstup:
Armstrongovo číslo
Otázka č. 18) Napište program Java a pomocí funkce replace () odstraňte všechna prázdná místa z řetězce.
Odpovědět: Toto je jednoduchý program, kde máme naši řetězcovou proměnnou str1.
Další řetězcová proměnná str2 je inicializována možností replaceAll, což je vestavěná metoda pro odstranění n počtu mezer. Nakonec jsme vytiskli str2, který nemá mezery.
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); } } }
Výstup:
SaketSauravisaQualityAnalist
Otázka č. 19) Napište program Java a odstraňte všechna prázdná místa z řetězce bez použití replace ().
Odpovědět: Toto je další přístup k odstranění všech bílých mezer. Opět máme jednu řetězcovou proměnnou str1 s nějakou hodnotou. Potom jsme tento řetězec převedli do pole znaků pomocí toCharArray ().
Pak máme jeden objekt StringBuffer sb, který bude použit k přidání hodnoty uložené v indexu chars (i) poté, co jsme zahrnuli pro smyčku a jeden if podmínku.
Pokud je podmínka nastavena tak, že prvek v indexu i indexu pole znaků by neměl být stejný jako mezera nebo karta. Nakonec jsme vytiskli náš objekt 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 Výstup:
SaketSauravisanAutomationEngineer
Otázka č. 20) Napište program Java a přečtěte si Excel.
Odpovědět: Tyto typy programů se obecně používají v selenovém rámci. Ke každému kroku jsme přidali podrobné komentáře, aby byl program srozumitelnější.
Logika začíná poté, co jsme načetli list, ve kterém jsou uložena data. Pokoušíme se importovat e-mail a heslo. Za tímto účelem načítáme buňku pomocí metody getRow () a getCell (). Řekněme, že v první a druhé buňce máme e-mail a hesla.
Pak nastavujeme typ buňky na řetězec. Poté provádíme běžnou operaci lokátoru webových prvků (By.id), kde jsme předali jedinečné hodnoty lokátoru, jako jsou „e-mail“ a „heslo“, které tyto prvky identifikují.
Nakonec zasíláme klíče pomocí element.sendKeys, kde je klíčem cell.getStringCellValue (). Tím se vrátí hodnota uložená v buňce číslo 1 a 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()); } }
Závěr
V tomto článku jsme probrali všechny důležité základní programy Java Interview s příklady kódu, které jsou požadovány v jakýchkoli programovacích rozhovorech Java.
Naučili jsme se všechny triky Java, jako je základní manipulace s řetězci, celými čísly a znaky, selenové kódy, čtení dat ze souboru, matematické řady prostřednictvím kódů, a nyní máte dostatečnou představu o tom, jak postupovat při jakémkoli rozhovoru Java.
Přečtěte si také => Java OOP Interview Otázky a odpovědi
Hodně štěstí :)
Doporučené čtení
- OOP Java: Úvod do objektově orientovaného programování v Javě
- Implementace Java: Vytvoření a spuštění souboru Java JAR
- 20 Selektivních otázek QA Interview k vymazání rozhovoru v roce 2021
- Virtuální stroj Java: Jak JVM pomáhá při spouštění aplikace Java
- Top 20+ .NET Interview Otázky a odpovědi
- Top 40 C Programming Interview Otázky a odpovědi
- Top 30+ JMS (Java Message Service) Interview Questions