import java.util.Scanner;
public class QuestionTwo
{
public static void main(String[] args)
{
Integer number;
Character first, middle, last;
Scanner keyboard = new Scanner (System.in);
System.out.print("First name: ");
first = keyboard.next().charAt(0);
System.out.print("Middle name: ");
middle = keyboard.next().charAt(0);
System.out.print("Last name: ");
last = keyboard.next().charAt(0);
System.out.print("Which type of sort order would you like (1 for ascending and 2 for descending)? ");
number = keyboard.nextInt();
if(number == 1)
{
System.out.println("Sort order: 1");
if((first) < (middle) && (first) < (last))
{
if((middle) < (last))
{
System.out.println (first + middle + last);
}
if((last) < (middle))
{
System.out.println (first + last + middle);
}
}
if((middle) < (first) && (middle) < (last))
{
if((first) < (last))
{
System.out.println (middle + first + last);
}
if((last) < (first))
{
System.out.println (middle + last + first);
}
}
if((last) < (middle) && (last) < (first))
{
if((middle) < (first))
{
System.out.println(last + middle + first);
}
if((first) < (middle))
{
System.out.println(last + first + middle);
}
}
}
if(number == 2)
{
System.out.println("Sort order: 2");
if((first) > (middle) && (first) > (last))
{
if((middle) > (last))
{
System.out.println (first + middle + last);
}
if((last) > (middle))
{
System.out.println (first + last + middle);
}
}
if((middle) > (first) && (middle) > (last))
{
if((first) > (last))
{
System.out.println (middle + first + last);
}
if((last) > (first))
{
System.out.println (middle + last + first);
}
}
if((last) > (middle) && (last) > (first))
{
if((middle) > (first))
{
System.out.println(last + middle + first);
}
if((first) > (middle))
{
System.out.println(last + first + middle);
}
}
}
}
}
The output that I get from this is a large integer value, whereas what the program should do is ask for a first name, then middle name, then last name. It should then ask for which sort order, 1 being ascending and 2 being descending. What this means is that once it gets the name it looks through the names and counts the number of letters per name. It will then give the answer as the name sorted in the order that the user selected.
For example:
if I tell it my name is David H. Anderson, and click 1 for ascending order, my result should be "H. David Anderson", as H. is 2 symbols, David is 5 and Anderson is 8.
What it currently does is all of the above except for giving me the last line in the format I want (I end up just getting a number).
Aucun commentaire:
Enregistrer un commentaire