Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Перестановка первой и последней цифры числа


Автор: qw1mb0 18.6.2010, 12:54
Добрый день уважаемые форумчани
Прошу вас о помощи.
Java учу недавно и не добровольно

Необходимо написать метод, который бы переставлял первую и последнюю цифры числа. 
Например 753, нужно преоброзовать в 357 
если я правильно понимаю то чтобы из записи числа 753 сделать 357 нужно выделить первую и последнюю цифры и изменить их расположение
Но как это сделать?

и еще задать условие если число однозначное (например 5 или 7) то перестановка не выполняется. 
Заранее спасибо

Автор: jk1 18.6.2010, 13:15
Код

public class Swap {
    public static void main(String[] args) {
        if (args.length>0){
          if (args[0].length()>1){
             System.out.println(
                     args[0].charAt(args[0].length()-1) +
                             args[0].substring(1,args[0].length()-1) +
                             args[0].charAt(0));
          } else {
             System.out.println(args[0]);
          }
        }
    }
}

Автор: qw1mb0 18.6.2010, 13:22
ммм спасибо огромное  smile , а как сюда еще добавить, чтобы само число вводить вручную?  smile 

Автор: jk1 18.6.2010, 14:23
Код

public class Swap {
    public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          String input = scanner.nextLine();
          if (input.length()>1){
             System.out.println(
                     input.charAt(input.length()-1) +
                             input.substring(1,input.length()-1) +
                             input.charAt(0));
          } else {
             System.out.println(input);
          }

    }
}

Автор: qw1mb0 18.6.2010, 15:14
не компилируется ...

Автор: jk1 18.6.2010, 15:16
Цитата

не компилируется ...


У меня работает. Процитируйте пожалуйста ошибку компиляции.

Автор: qw1mb0 18.6.2010, 16:33
Пользуюсь BlueJ 3.0.0
при нажатии кнопки Compile внизу появляется надпись Compiling... и ничего в итоге не просиходит

Автор: jk1 18.6.2010, 17:46
Для чистоты эксперимента проверим голым компилятором (в предположении, что JDK от Sun)
1) Создаем файл Swap.java
Код

import java.util.Scanner;

public class Swap {
    public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          String input = scanner.nextLine();
          if (input.length()>1){
             System.out.println(
                     input.charAt(input.length()-1) +
                             input.substring(1,input.length()-1) +
                             input.charAt(0));
          } else {
             System.out.println(input);
          }
    }
}

2) затем из командной строки
Код

cd "папка с нашим файлом"
javac Swap.java
java Swap

3) Вводим в терминал искомое число, наблюдаем что-то вроде
Код

C:\IdeaProjects\blue>java Swap
1243
3241

Вроде бы все работает. Теперь обратимся к BlueJ. 
1) Скачал и поставил BlueJ 3.0, создал проект, в нем все тот же файл.
2) Кнопкой Compile файл прекрасно скомпилировался
3) После этого надо вызвать Main, открыть Terminal Window и ввести число
4) в тот же Terminal Window программа выведет результат

Автор: qw1mb0 18.6.2010, 20:02
Программа стала компилиться, но при задании числа в мейне выдает вот такое:

http://piccy.info/view3/223915/66482d9be77c57652e62e872cf787ff3/ 
http://piccy.info/view3/223916/673006c53698d2cf314cd443d846ef4d/

Автор: jk1 19.6.2010, 21:00
Рекомендую посмотреть, что именно принимает на вход метод main и указать аргумент правильного типа.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)