• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Caesar cipher

 
Greenhorn
Posts: 5
Mac Eclipse IDE Firefox Browser
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello this is my first time using a forum for help. I am doing a java program to create a caesar cipher. I am getting an error of (This method must return a result of type String) on the public static string encrypt(String text, String theKey) and another error where (text cannot be resolved to a variable).

This is the instruction: Develop code to encrypt a string given the following encryption key "DEFGHIJKLMNOPQRSTUVWXYZABC". The encryption key is positional, so that the letter A is replaced by D, B is replaced by E, etc. We will ignore case in our substitutions.

To implement Stage 1, you should write a static method named encrypt :

public static String encrypt(String text, String theKey)

This method takes in the string to encrypt (named text) and the key and returns the encrypted string.

If you are confused about how to proceed, then here are some steps you can take:

define a class constant outside the method :
public static final String ALPHABET = "abcdefghijklmnopqrstuvwxyz";
Inside the method, create a new string which is a lower case version of the parameter "text". We will replace the lower case characters with upper case key characters from the key so as to avoid the problem of replacing a character twice.
Create a loop that considers each character of the key (loop 26 times). Inside the loop :
extract the ith character from the key using the string method charAt.
extract the ith character from ALPHABET
call the replace method of the lower case text, changing the ith character of the alphabet to the ith character of the key.


And this is what I have so far for the code
[B]

Please help,
Thanks
 
Rancher
Posts: 618
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Well the error message says it all. You must return a String value in your method. For example, I added return encryptedString; at the end of your method as shown below. You will, of course, have to modify the code so that it is correct. The code the way you have written it will always return an empty String.
 
A Issa
Greenhorn
Posts: 5
Mac Eclipse IDE Firefox Browser
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks the return resolved the problem. And you are right I am returning an empty string. Am I missing an if...else statement??
 
Ranch Hand
Posts: 100
VI Editor Chrome Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

A Issa wrote:Thanks the return resolved the problem. And you are right I am returning an empty string. Am I missing an if...else statement??



No, you don't need an if statement.
Consider what you are encrypting and what the for loop does.

Regards.
 
Igor Mechnikov
Ranch Hand
Posts: 100
VI Editor Chrome Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Check this out.
Latin Upper Case letters are a nice touch for Caesar cipher.

> run Caesarcipher
L,FODXGLXV


 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi, i am new to this caesar cipher encryption and clear do not understand it. Can you please make a step-by-step on how to encrypt and decrypt from a text file?
 
Rancher
Posts: 3742
16
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Sebolela skull wrote:Can you please make a step-by-step on how to encrypt and decrypt from a text file?


Try this
 
Marshal
Posts: 79151
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
And welcome to the Ranch
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic