Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

So I'm having trouble understanding why the given code doesn't work out as intended as expected, what I want to get is for it to output the letter change (the change value) so for example the letter "a" + change(has a value of 3) is going to produce "d", except when the letter "number" + the change are greater than the letter "z" which has a value of 122 then it will loop to a and then go from there . (I tried every possible way to fix it but it doesn't work out as expected) please help thanks :D (also here is the input yzdkvyzgtyrkdspkcstqdkxlvpckdstckslbopbkotokizekmbedpkqzbnpkdstckmikdbityrkcstqdckzypkldklkdtxpkzbkecpklkqzbkwzzkdzkozkdspkcstqdtyrkwplcpkgbtdpkmbedpkqzbnpklckdspkvpikqzbkdlcvkyexmpbkdgz)

package LabExperience;

import java.util.Scanner;

public class LabExperienceChiper {
    public static void main(String[] args) {
        System.out.println("enter the code");
        Scanner machine = new Scanner(System.in);
         String let = machine.next();
         String news = "";
         int find;
         int find2;
        for(int change = -1; change <= 1; change++)
        {
         for(int x = 0; x<let.length(); x++)
         {
             char num = let.charAt(x);
             if(num + change > 122)
             {
                 find = 'z'-num;///find how much to take away from the change
                 find2 = change-find;////this takes the value 0f change and subtracts what is taken and adds it to the value of 'a'
                num= (char) (num + find2);
                news = news+num;
             }
             else
             {
                 if(num + change <= 122)
                 {
                 num = (char) (num + change);
                 news = news + num;
             }
             }
         }
        System.out.println(news);
        news = "";
        }
    }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
3.4k views
Welcome To Ask or Share your Answers For Others

1 Answer

So I figured out what the problem was in line 32 (the find 2 section). I didn't subtract 2 which caused an additional adding for the binary number (so 97 would be 99).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...