Problem:
Design and implement an algorithm to find the second largest value in an array of n elements.
Solution:
package array.programs;
import java.util.Scanner;
public class SecondLargestElement {
int[] numbers;
int n;
int secondLargestNumber;
public static void main(String[] args) {
SecondLargestElement secondLargestElement = new SecondLargestElement();
secondLargestElement.initializeTheArray();
secondLargestElement.findSecondLargestNumber();
}
public void initializeTheArray(){
Scanner scanner = new Scanner(System.in);
System.out.println("enter n value");
n = scanner.nextInt();
numbers = new int[n];
for (int i = 0; i < numbers.length; i++) {
System.out.println("enter number");
numbers[i] = scanner.nextInt();
}
scanner.close();
}
public void findSecondLargestNumber(){
int max = numbers[0];
for (int i = 0; i < numbers.length; i++) {
if(numbers[i] > max){
secondLargestNumber = max;
max = numbers[i];
}
else if(numbers[i] > secondLargestNumber && numbers[i] != max){
secondLargestNumber = numbers[i];
}
}
System.out.println("the second largest value is" + secondLargestNumber);
}
}
Output:
enter n value
5
enter number
123
enter number
333
enter number
444
enter number
22
enter number
33
the second largest value is333
Design and implement an algorithm to find the second largest value in an array of n elements.
Solution:
package array.programs;
import java.util.Scanner;
public class SecondLargestElement {
int[] numbers;
int n;
int secondLargestNumber;
public static void main(String[] args) {
SecondLargestElement secondLargestElement = new SecondLargestElement();
secondLargestElement.initializeTheArray();
secondLargestElement.findSecondLargestNumber();
}
public void initializeTheArray(){
Scanner scanner = new Scanner(System.in);
System.out.println("enter n value");
n = scanner.nextInt();
numbers = new int[n];
for (int i = 0; i < numbers.length; i++) {
System.out.println("enter number");
numbers[i] = scanner.nextInt();
}
scanner.close();
}
public void findSecondLargestNumber(){
int max = numbers[0];
for (int i = 0; i < numbers.length; i++) {
if(numbers[i] > max){
secondLargestNumber = max;
max = numbers[i];
}
else if(numbers[i] > secondLargestNumber && numbers[i] != max){
secondLargestNumber = numbers[i];
}
}
System.out.println("the second largest value is" + secondLargestNumber);
}
}
Output:
enter n value
5
enter number
123
enter number
333
enter number
444
enter number
22
enter number
33
the second largest value is333
No comments:
Post a Comment