String.split, преобразование строк в int

Я хочу, чтобы string.split состоял из 4 частей name1, age1, name2, age2, но превращал "String age1 = parts[1];" и "Строка age2 = parts[3];" в промежутки, чтобы я мог сортировать людей по возрасту.

Любая помощь будет оценена по достоинству!

Мой код до сих пор:

import java.util.Scanner;

public class CharTIntStringSplit
{
   public static void main(String[] args) {

       Scanner kb = new Scanner(System.in);

       String nameage;

       System.out.println("Enter Firstname and age seperated by , e.g. Firstname, Age");
       nameage = kb.nextLine();

       String[] parts = nameage.split(",");
       String name1 = parts[0];
       String age1 = parts[1];
       String name2 = parts[2];
       String age2 = parts[3];/*after age1 and age2 are converted to 
                              intergers the if statement underneith should work*/

       if (age1 >= age2) {
          System.out.println(name1 + " " + age1 + ", " + name2 + " " + age2);

        }

       else if (age1 < age2)  {
           System.out.println(name2 + " " + age2 + ", " + name1 + " " + age1);

       }
    }
}

person SamsinOzo    schedule 20.03.2014    source источник
comment
Посмотрите на метод parseInt класса Integer.   -  person Dawood ibn Kareem    schedule 20.03.2014
comment
Я пробовал это, я не мог понять, так как я новичок, не могли бы вы дать ссылку на пост, который объясняет это просто для меня =) Спасибо   -  person SamsinOzo    schedule 20.03.2014
comment
Я мог бы погуглить это для вас, да. Я не собираюсь.   -  person Dawood ibn Kareem    schedule 20.03.2014
comment
В любом случае, лол, спасибо, ха-ха!   -  person SamsinOzo    schedule 20.03.2014


Ответы (3)


Используйте целое число. parseInt(String s) для преобразования допустимой числовой строки в значение типа int. Вот пример:

int intAge1 = Integer.parseInt(age1);

Обратите внимание, что этот метод выдает NumberFormatException, если входная строка не является допустимым числом.

person Juned Ahsan    schedule 20.03.2014
comment
@SamsinOzo Рад, что это помогло ... просто примите ответ, нажав на галочку слева от моего ответа. Принятие ответа помогает другим, столкнувшимся с той же проблемой. - person Juned Ahsan; 20.03.2014
comment
Да, я пытался раньше, но это не позволило мне, так как прошло всего 6 минут, еще раз спасибо за помощь. - person SamsinOzo; 20.03.2014
comment
Уже столкнулся с другой проблемой при попытке зациклить строку, я сталкивался с этой проблемой раньше, но исправил ее, запустив пустой Scanner.nextLine, что на этот раз не исправило ошибку, я думаю, это потому, что в первый раз у него было только 2 частей, у этого есть 4, время исследовать! :3 - person SamsinOzo; 20.03.2014

сделай это:

int age1 = Integer.valueOf(parts[1]).intValue();

Integer.valueOf(parts[1]) преобразует строку в объект Integer. метод .intValue() преобразует объект Integer в примитивный тип int.

сделайте то же самое с атрибутом age2.

Удачи!

person Aleksandrus    schedule 20.03.2014

Вы должны иметь возможность преобразовать строку в int, используя

int x = Integer.parseInt("String that you want to convert to int");

Я бы посоветовал вам изучить API и посмотреть документы Java о том, как это работает.

person Barry    schedule 20.03.2014