Search code examples
javaoutputuser-input

Input String and int in the same line


How can I input a String and an int in the same line? Then I want to proceed it to get the largest number from int that I already input: Here is the code I have written so far.

import java.util.Scanner;

public class NamaNilaiMaksimum {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String name[] = new String[6];
        int number[] = new int[6];
        int max = 0, largest = 0;
        int as = 5;

        for (int x = 1; x <= as; x++) {
            System.out.print(" Name & number : ");
            name[x] = in.nextLine();
            number[x] = in.nextInt();
        }

        for (int x = 1; x <= as; x++) {
            if (number[x] > largest) {
                largest = number[x];
            }
        }
        System.out.println("Result = " + largest);
    }
}

There's an error when I input the others name and number.

I expect the output will be like this

Name & Number : John 45
Name & Number : Paul 30
Name & Number : Andy 25

Result: John 45


Solution

  • public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String InputValue;
        String name[] = new String[6];
        int number[] = new int[6];
        String LargeName = "";
        int largest = 0;
        int as = 5;
    
        for (int x = 1; x <= as; x++) {
            System.out.print(" Name & number : ");
            InputValue = in.nextLine();
            String[] Value = InputValue.split(" ");
            name[x] = Value[0];
            number[x] = Integer.parseInt(Value[1]);
        }
    
        for (int x = 1; x < number.length; x++) {
            if (number[x] > largest) {
                largest = number[x];
                LargeName = name[x];
            }
        }
        System.out.println("Result = " + LargeName + " " + largest);
    }
    

    Hope this works for you.