Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.Scanner;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class SongEncryption {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- String input = sc.nextLine();
- String regex = "^(?<artist>[A-Z][a-z ']*)(?<dots>:)(?<song>[A-Z ]*)$";
- Pattern pattern = Pattern.compile(regex);
- StringBuilder sbArtist = new StringBuilder();
- StringBuilder sbSong = new StringBuilder();
- while (!input.equalsIgnoreCase("end")) {
- Matcher matcher = pattern.matcher(input);
- if (matcher.find()) {
- String artist = matcher.group(1);
- String song = matcher.group(3);
- int key = artist.length();
- for (int i = 0; i < artist.length(); i++) {
- char c = artist.charAt(i);
- if ((char) c == 32 || ((char) c == 39)) {
- sbArtist.append(c);
- } else if ((char) c == 58) {
- sbArtist.append('@');
- } else {
- if ((char) (c + key) > 122) {
- char newChar = (char) (c + key - 26);
- sbArtist.append(newChar);
- } else if ((char) (c + key) < 123 && (char) (c + key) > 96) {
- sbArtist.append((char) (c + key));
- } else if ((char) (c + key) > 90) {
- char newChar = (char) (c + key - 26);
- sbArtist.append(newChar);
- } else if ((char) (c + key) < 91) {
- char newChar = (char) (c + key);
- sbArtist.append(newChar);
- }
- }
- }
- for (int i = 0; i < song.length(); i++) {
- char c = song.charAt(i);
- if ((char) c == 32 || ((char) c == 39)) {
- sbSong.append(c);
- } else if ((char) c == 58) {
- sbSong.append('@');
- } else {
- if ((char) (c + key) > 122) {
- char newChar = (char) (c + key - 26);
- sbSong.append(newChar);
- } else if ((char) (c + key) < 123 && (char) (c + key) > 96 && c > 96) {
- sbSong.append((char) (c + key));
- } else if ((char) (c + key) < 123 && (char) (c + key) > 96 && c < 96) {
- sbSong.append((char) (c + key - 26));
- } else if ((char) (c + key) > 90) {
- char newChar = (char) (c + key - 26);
- sbSong.append(newChar);
- } else if ((char) (c + key) < 91) {
- char newChar = (char) (c + key);
- sbSong.append(newChar);
- }
- }
- }
- System.out.printf("Successful encryption: %s@%s%n", sbArtist, sbSong);
- } else {
- System.out.println("Invalid input!");
- }
- input = sc.nextLine();
- sbArtist = new StringBuilder();
- sbSong = new StringBuilder();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement