mardi 10 novembre 2015

Why this 'if' does not execute in Java?

public static void main(String[] args) {

    //initialization of array lists 
    ArrayList<Integer> indexArray=new ArrayList();
    ArrayList<Integer> sortedIndex=new ArrayList();
    Scanner in=new Scanner(System.in);
    System.out.println("Enter your index number ");
    int index=in.nextInt();
    int ind=0;


    while (index > 0) {

        indexArray.add(index%10);

        index=index/10;}

    int indexArraySize=indexArray.size();
    int max=0;
    int min=9;
    while(indexArraySize>0){
       int digit=indexArray.get(indexArraySize-1);
       if(min>digit){
           min=digit;

       }
       if(max<digit){
           max=digit;

       }

       indexArraySize--;

    }
    System.out.println("Maximum= "+max);
    System.out.println("Minimum= "+min);




}

This code returns correct values for any integer input except for 00000000

For 00000000 it gives Maximum= 0 Minimum= 9

which means it doesn't get executed

if(min>digit){
         min=digit;

           }

What is the reason for this and how can I correct this?

Aucun commentaire:

Enregistrer un commentaire