Замените одно за другим значения списка массивов и сохраните значения другого массива, используя цикл for - PullRequest
0 голосов
/ 10 июня 2018

Как заменить одно за другим значения списка массивов и сохранить значения другого массива, используя цикл for?

Поскольку я хочу, чтобы пользователь написал любую строку, то я хочу, чтобы код исключил всечисла, а также символы из пользовательского ввода и преобразование оставшегося пользовательского ввода в верхний регистр, а затем, если я получаю что-то BDJH из программы, я хочу, чтобы программа сместила значение алфавита на единицу, поэтому ответ должен быть или выход должен быть CEKIкак (раньше это был BDJH, смещенный на единицу в алфавитном порядке).

Но моя программа не работает, я не знаю ошибку.

import java.util.ArrayList;
import java.util.Scanner;

public class nanana {

    public static void main(String[] args){
        System.out.println("ENTER THE NUMBER YOU WANT ENCRYPTED");
        Scanner input1=new Scanner(System.in);
        String name =input1.nextLine();
        encryption(name);
        name=name.toUpperCase();
        ArrayList<Character> nilkil =new ArrayList<Character>();
        for(int i=0;i<=name.length()-1;i++){
            nilkil.add(name.charAt(i)); 
        }
        char[] deep={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
        for(int j=0;j<=nilkil.size()-1;j++) {
            for (int p = 0; p <=deep.length-1; p++) {
                if(nilkil.get(j)==deep[p]){
                    nilkil.add(j,deep[p+1]);
                }
            }
        }
        System.out.println(nilkil.toString());
    }

    public static String encryption(String name){
        name=name.replaceAll("[^a-zA-Z]" ,"");
        name=name.toUpperCase();
        System.out.println(name);
        return name;
    }
}

Ответы [ 2 ]

0 голосов
/ 10 июня 2018

Пожалуйста, найдите правильный ответ для вашей проблемы.

import java.util.*;

public class nanana {
    public static void main(String[] args){
        System.out.println("ENTER THE NUMBER YOU WANT ENCRYPTED");
        Scanner input1=new Scanner(System.in);
        String name =input1.nextLine();
        name=encryption(name);
        ArrayList<Character> nilkil =new ArrayList<Character>();
        for(int i=0;i<=name.length()-1;i++){
            nilkil.add(name.charAt(i));
        }
        String answer="";
        char[] deep={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
        for(int j=0;j<=nilkil.size()-1;j++) {
            if(nilkil.get(j)=='Z') //Replacing Z with A
                answer=answer+'A';
            else{
            for (int p = 0; p <deep.length-1; p++) {
                if (nilkil.get(j) == deep[p]) {
                    answer = answer + deep[p + 1];
                    break;
                }
            }


            }

        }
        System.out.println(answer);
    }


    public  static String encryption(String name){
        name=name.replaceAll("[^a-zA-Z]" ,"");
        name=name.toUpperCase();
        return name;
    }
}
0 голосов
/ 10 июня 2018

Вы можете сделать это путем преобразования входной строки в массив символов, а затем увеличивать каждый символ ASCII на 1, как вам требуется.Одна вещь делает ваше имя класса значимым и начинается с заглавных букв.

public class CharacterConversion{
     public static void main(String[] args){
            System.out.println("ENTER THE NUMBER YOU WANT ENCRYPTED");
            Scanner input1=new Scanner(System.in);
            String name =input1.nextLine();
            encryption(name);
            name=name.toUpperCase();

            char[] namesArray = name.toCharArray();

            for(int i=0;i<namesArray.length;i++){
              namesArray[i] = (char) (namesArray[i]+1);
            }
            System.out.println(new String(namesArray));
        }

        public static String encryption(String name){
            name=name.replaceAll("[^a-zA-Z]" ,"");
            name=name.toUpperCase();
            System.out.println(name);
            return name;
        }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...