JAVA的这个代码怎么就一直求不出第二大的数值,问题在哪?

package Hello;
import java.util.Scanner;
public class Hello {

public static void main(String[] args) {
     Scanner in = new Scanner(System.in);
         
        int count=0;
        float  sum=0f;
        float  max=0f;
        float second=0f;
        while(in.hasNextFloat()) {
            count++;
            float current = in.nextFloat();
            sum=sum+current;
            if(current > max){
                max = current;
            }
           
            if(current>max) {second=max;max=current;}
            else if((current>second) &&(current<max)) {second=current;}
        }
       
        
        System.out.printf("count:%d avg %f %n",count,sum/count);
        System.out.printf("max:%f",max);
        System.out.printf("second:%f",second);
}

}

12到14行删除

12行把current的值赋给max了,16行条件永远不成立了