Hello EveryOne
The checker is still rejecting my program (file attached) when it really cover this case.
The reject reason : If several second smallest numbers are entered, then you need to display any one of them.
Thanks for your help.
package en.codegym.task.pro.task04.task0410;
import java.util.Scanner;
/*
Second smallest number entered
*/
public class Solution {
public static void main(String[] args) {
//write your code here
Scanner console = new Scanner(System.in);
int integer = 0, fstMin = Integer.MAX_VALUE,
secMin = Integer.MAX_VALUE, nbrInt = 0;
while(true)
{ if (console.hasNextInt())
{
integer = console.nextInt();
if (fstMin == Integer.MAX_VALUE)
fstMin = secMin = integer;
else
{
if (fstMin == secMin)
{
if (fstMin > integer)
fstMin = integer;
else
secMin = integer;
}
else
{
if (fstMin > integer)
{
secMin = fstMin;
fstMin = integer;
}
else if (secMin > integer)
secMin = integer;
}
}
}
else
break;
nbrInt++;
}
if (nbrInt < 2)
System.exit(-1);
else
System.out.println(secMin);
}
}
package en.codegym.task.pro.task04.task0410;
import java.util.Scanner;
/*
Second smallest number entered
*/
public class Solution {
public static void main(String[] args) {
//write your code here
Scanner console = new Scanner(System.in);
int integer = 0, fstMin = Integer.MAX_VALUE,
secMin = Integer.MAX_VALUE, nbrInt = 0;
while(true)
{ if (console.hasNextInt())
{
integer = console.nextInt();
if (fstMin == Integer.MAX_VALUE)
fstMin = secMin = integer;
else
{
if (fstMin == secMin)
{
if (fstMin > integer)
fstMin = integer;
else
secMin = integer;
}
else
{
if (fstMin > integer)
{
secMin = fstMin;
fstMin = integer;
}
else if (secMin > integer)
secMin = integer;
}
}
}
else
break;
nbrInt++;
}
if (nbrInt < 2)
System.exit(-1);
else
System.out.println(secMin);
}
}