Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

This code has to enter 5 integers and then display them in ascending and descending orders without using arrays. But it gives me only the biggest number. How can i do it without arrays??

package assignment;

import javax.swing.JOptionPane;

public class q1 {

    public static void main(String[] args) {

        String a = JOptionPane.showInputDialog(null, "Please Enter a number", "Input", JOptionPane.QUESTION_MESSAGE);
        int number1 = Integer.parseInt(a);
        String b = JOptionPane.showInputDialog(null, "Please Enter a number", "Input", JOptionPane.QUESTION_MESSAGE);
        int number2 = Integer.parseInt(b);
        String c = JOptionPane.showInputDialog(null, "Please Enter a number", "Input", JOptionPane.QUESTION_MESSAGE);
        int number3 = Integer.parseInt(c);
        String d = JOptionPane.showInputDialog(null, "Please Enter a number", "Input", JOptionPane.QUESTION_MESSAGE);
        int number4 = Integer.parseInt(d);
        String e = JOptionPane.showInputDialog(null, "Please Enter a number", "Input", JOptionPane.QUESTION_MESSAGE);
        int number5 = Integer.parseInt(e);

        if (number1 > number2 && number1 > number3 && number1 > number4 && number1 > number5) {
            System.out.print(number1 + ",");
        } else if (number2 > number1 && number2 > number3 && number2 > number4 && number2 > number5) {
            System.out.print(number2 + ",");
        } else if (number3 > number1 && number3 > number2 && number3 > number4 && number3 > number5) {
            System.out.print(number3 + ",");
        } else if (number4 > number1 && number4 > number2 && number4 > number3 && number4 > number5) {
            System.out.print(number4 + ",");
        } else if (number5 > number1 && number5 > number2 && number5 > number3 && number5 > number4) {
            System.out.print(number5 + ",");
        }

    }
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
162 views
Welcome To Ask or Share your Answers For Others

1 Answer

Oddly I couldn't really find much on sorting outside of arrays and lists so I will assist you.

Code:

  int temp;

for (int count = 0; count < 4; count++)
{
    if ( number2 < number1)
    {
       temp = number1;
       number1 = number2;
       number2 = temp;
    }

    if ( number3 < number2)
    {
       temp = number2;
       number2 = number3;
       number3 = temp;
    }

    if ( number4 < number3)
    {
       temp = number3;
       number3 = number4;
       number4 = temp;
    }

    if ( number5 < number4)
    {
       temp = number4;
       number4 = number5;
       number5 = temp;
    }
}

System.out.println( number1 + " " + number2 + " " + number3 + " " + number4 + " " + number5);
System.out.println( number5 + " " + number4 + " " + number3 + " " + number2 + " " + number1);

Sorting will get easier as you learn some of the algorithms and how they work. Until then, I hope this helps.

The basic idea is to check each pair and swap the values. You will need to do this multiple times in order to get the last value to the beginning of your list of values.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...