Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.Scanner; // для ввода юзером числа
- public class Main {
- public static void main(String[] args) {
- String symArray = "Howdoyoufightadragon?Youdon't,yourun.";
- char [] str = symArray.toCharArray();
- // Собсна выше превращаем строку в масив символов(это нам необходимо пушо в джаве строка != масив символов
- // и она не имеет доступа по индексу да и ваще с ним будет легче работаць идите нафиг!
- StringBuilder symArray2 = new StringBuilder();
- // StringBuilder создает пустой ОБЪЕКТ на 16 символов(капасити, которая увеличивается если этих символов при записи больше 16
- // сюда будем записывать сдвиг
- System.out.print("Input N value : ");
- Scanner var = new Scanner(System.in);
- int N = var.nextInt();
- // три строки выше очевидны, просто непривычный(кому-то) синтаксис
- if(N >= 0) {
- if(N <= symArray.length());
- else {
- N = N % symArray.length();
- }
- // Тут, думаю, все ясно. Если у нас N адекватное – работаем сразу, если выше длины строки – юзаем деление по модулю и узнаем
- // "нормальный" индекс элемента
- for (int i = N; i > 0; i--) {
- symArray2.append(str[str.length - i]);
- }
- // .append добавляет нужную подстроку в конец нашей строки, вспоминаем strcat в Си
- // добавление начинаем с необходимой нам позиции, думаю не сложно посчитать с какой на примере
- for (int i = 0; i < symArray.length() - N; i++) {
- symArray2.append(str[i]);
- }
- // просто дописываем остаток в конец строки
- } else if(N < 0) {
- int mod = Math.abs(N);
- if(mod <= symArray.length());
- else {
- mod = mod % symArray.length();
- }
- // аналогично с N >= 0
- for (int i = mod; i < symArray.length(); i++) {
- symArray2.append(str[i]);
- }
- // тут сначала пишем всю строку с нужной позиции в конец, а потом..
- for (int i = 0; i < mod; i++) {
- symArray2.append(str[i]);
- }
- // ..добавляем необходимые нам элементы в конец(сдвиг же влево блин)
- }
- System.out.println(symArray2);
- // вывод строки со сдвигом =)
- // если найдете ошибку либо еще чето – пингуйте в чате
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement