Home / homework

homework


import javax.swing.*; // ใช้ swing มาช่วยรับข้อมูลและแสดงข้อมูล

public class test {

 

    public static void main (String [] args) {

    String inputnum=JOptionPane.showInputDialog("input number"); // รับค่าโดยใช้ swing เป็น string

    String number,max2="",min2="",odd2="",even2="";

    int y=0;

    int x=Integer.parseInt(inputnum); //แปลง String เป็น integer

    int n=0,stcodemax,stcodemin;

  int max,max3=0,min,min3=0,odd,even;

  int cmax=0,cmin=0, k;

    JTextArea outputRerk=new JTextArea(11,20); // สร้าง OBJ แสดงข้อมูล

   

    if(x<1)JOptionPane.showMessageDialog(null,"Error : input number below 1","Warning",JOptionPane.PLAIN_MESSAGE);

    // ถ้าค่าที่ใส่ลงไปตอนเริ่มน้อยกว่า 1 จะerror

   

    else{

    int arrayrerk[]=new int[x]; // สร้าง array

   

    while(n<x) // loob สำหรับใส่ค่าใน array

    {

    number=JOptionPane.showInputDialog("input number" + (n+1) + " :");

    y=Integer.parseInt(number);

    arrayrerk[n]=y;

    n++;

    outputRerk.append("num " + n + "=" + arrayrerk[n-1] + "\n");

    }

   

    //find max and min

    max=arrayrerk[0];

    min=arrayrerk[0];

    n=0;

    while(n<x){

      if (arrayrerk[n]>max)max=arrayrerk[n];

      if (arrayrerk[n]<min)min=arrayrerk[n];

      n++;

    }

    stcodemax=min;

    stcodemin=max;

   

    for(k=0;k<x;k++){ // loob สำหรับสั่งให้วนเขียนจำนวนไปเรื่อยๆ

   

    //หาจำนวนที่เท่ากับ max และ min ว่ามีกี่จำนวน

   

    cmax=0;

    cmin=0;

    for(n=0;n<x;n++){

      if(arrayrerk[n]==max)cmax=cmax+1;

      if(arrayrerk[n]==min)cmin=cmin+1;

    }

   

    //สั่งให้เขียนใน Stringเป็นจำนวนครั้งตามที่นับได้

   

    for(n=0;n<cmax;n++){max2=max2+" "+max;}

    if((max%2)!=0)for(n=0;n<cmax;n++)odd2=odd2+" "+max;

    for(n=0;n<cmin;n++){min2=min2+" "+min;}

    if((min%2)==0)for(n=0;n<cmin;n++)even2=even2+" "+min;

   

    if (max==stcodemax)break; // ถ้าค่าสูงสุดเท่ากับค่าน้อยสุดที่หาได้ตอนเริ่มจะออกจาก loob

   

    //หาค่ามากที่สุดที่น้อยกว่า max และน้อยที่สุดที่น้อยกว่า min

   

    max3=stcodemax;

     min3=stcodemin;

    

     n=0;

     while(n<x){

      if ((arrayrerk[n]>max3)&&(arrayrerk[n]<max))max3=arrayrerk[n];

      if ((arrayrerk[n]<min3)&&(arrayrerk[n]>min))min3=arrayrerk[n];

      n++;

    }

    max=max3;

    min=min3;

    }

   

    // สั่งให้แสดงข้อมูล

    outputRerk.append("from max to min is :" + max2+"\n");

    outputRerk.append("from min to max is :" + min2+"\n");

    outputRerk.append("Odd number from max to min is :" + odd2+"\n");

    outputRerk.append("even number from min to max is :" + even2+"\n");

   

   JOptionPane.showMessageDialog(null,outputRerk,"test",JOptionPane.INFORMATION_MESSAGE);

    System.exit(0);

    }

   System.exit(0);

   

   

    }

}

 

 

 

    Post a comment

    Your Name or E-mail ID (mandatory)

     

    Note: Your comment will be published after approval of the owner.




     RSS of this page