Java Debugging Java Code for User Input Decryption

  • Thread starter Thread starter crimsondarkn
  • Start date Start date
  • Tags Tags
    Debugging Java
AI Thread Summary
The discussion revolves around a Java program intended to take user input and output the next letter in the alphabet for each character entered. The initial code fails to produce output due to case sensitivity issues, as lowercase and uppercase letters are treated differently. A suggested solution is to convert the input to uppercase using `String code = sc.next().toUpperCase();`. Additionally, a critical error in the loop structure is identified; the inner loop's increment should be `j++` instead of `i++` to ensure it iterates correctly through the `letteroutput` array. The program's logic is further hindered by an incorrect `else` statement that prematurely exits the loop, preventing any output. After addressing these issues, the expected output for the input "MOO" would be "NPP," as each letter is replaced by the subsequent letter in the alphabet.
crimsondarkn
Messages
13
Reaction score
0
Here's what I wrote , but there's no output.. It is suppose to read a line typed from the user and enter whatever the input was with the letter after the ones inputted. please help

import java.util.Scanner;

class ProblemS2 {

static Scanner sc=new Scanner(System.in);

public static void main(String[] args){

System.out.print("Input the word:");

String code =sc.next();



System.out.println("Time to decipher this...");

char c;


char[] letteroutput = { '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 i=0;i<code.length();i++) {
c = code.charAt(i);



for(int j=0; j <letteroutput.length; i++) {

if(letteroutput[j]==c)
System.out.println(letteroutput[j+1]);
else
break;


}





}

}}
 
Technology news on Phys.org
I don't know what is it that you wan't to do but for starters 'A' and 'a' are not the same thefore if you input "java" nothing will happen since 'j' does not match 'J', maybe you can try String code =sc.next().toUpperCase();?
 
Let's say I input MOO

the output would be NPP

N is after M
P is after O

I tried with Caps, does the same thing
 
for(int j=0; j <letteroutput.length; i++ ) {

Can't be bothered to run through your algo, but this jumped out at me as I was skimming this thread. Should be j++ if you want j to ever change. :P
 
Oh I just fixed that but then I found out the real problem... The Else statement I had cause the program to output nothing since it always broke out of my loop. Thx for help
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I had a Microsoft Technical interview this past Friday, the question I was asked was this : How do you find the middle value for a dataset that is too big to fit in RAM? I was not able to figure this out during the interview, but I have been look in this all weekend and I read something online that said it can be done at O(N) using something called the counting sort histogram algorithm ( I did not learn that in my advanced data structures and algorithms class). I have watched some youtube...
Back
Top