I am taking an introductory programming course and need a bit of help. The assignment is to have the Java program read a message (I am assuming from a .dat file, not quite sure). The program creates substitutes each random letter with a different letter chosen at random by the computer. If the letter M is chosen to replace the letter P in the message, then M replaces P in every instance of the message.
Right now, I just need help with generating a set of the 26 letters ordered randomly without duplicates. Here is what I have:
Right now the program does nothing. If I remove the last for loop with j as the counter and everything within that for loop, I get an output of 26 letters randomly chosen, but there are duplicates. The last for loop is supposed to say something like, "If the randomly generated letter (substitute) has appeared before in substitute[], then generate a new random number until it is no longer a duplicate of a previous number, at which point the letter which corresponds to the random number is stored in substitute.
So if you could give me some suggestions it would be much appreciated. If I am overcomplicating things and there is a much easier way to do this, please guide me in the right direction.
Thanks,
Noah
EDIT: Spacing in the program code isn't working. Looks fine while I'm editing it though. What's wrong?
EDIT 2: See here for my code, correctly formatted.
read this recent topic in another forum:
https://www.askwoody.com/forums/topic/still-on-win-10-and-happy-to-be-there/
some people are happy sticking with Win10
Cooler Master MasterFrame 600 PC case is now 33% off on Amazon by Ivan Jenic
The Cooler Master MasterFrame 600 is currently $109.99 on Amazon, down from its original $164.99 list price. That's 33% off and $55 saved on this premium aluminum mid-tower case with a modular design.
If you're upgrading your PC case and want something that doesn't force you into a rigid layout, the MasterFrame 600 is worth a look. The case is built around the Cooler Master's FreeForm 2.0 platform, which lets you reconfigure the internal structure according to your hardware. Magnetic side panels allow for straightforward adjustments, and the case supports everything from Mini-ITX to E-ATX motherboards without compromise.
There's also generous cooling headroom. Four pre-installed PWM fans handle airflow out of the box. GPU clearance goes up to 410mm, and the case supports radiators up to 420mm with room for three simultaneously.
Truth be told, this might not be the prettiest case on the market, but it’s highly functional. The aluminum construction keeps the whole thing lightweight despite its size, and the finish looks noticeably better than the plastic mid-towers competing at this price point.
If you want a serious, flexible case that prioritizes function over flashy aesthetics like RGB lighting, the MasterFrame 600 delivers at a reasonable price.
Cooler Master MasterFrame 600 - $109.99 | 33% off on Amazon
This Amazon deal is US-specific and not available in other regions unless specified. This is a first-party seller link (at the time of article publishing); ensure that you also purchase from a first-party seller link only.
If you don't like it or want to look at more options, check out the previous deals that we have covered, OR you can also visit Amazon US deals page.
Get Prime (SNAP), Prime Video, Audible Plus or Kindle / Music Unlimited. Free for 30 days.
As an Amazon Associate, we earn from qualifying purchases.
Question
-Noah-
Hi guys,
I am taking an introductory programming course and need a bit of help. The assignment is to have the Java program read a message (I am assuming from a .dat file, not quite sure). The program creates substitutes each random letter with a different letter chosen at random by the computer. If the letter M is chosen to replace the letter P in the message, then M replaces P in every instance of the message.
Right now, I just need help with generating a set of the 26 letters ordered randomly without duplicates. Here is what I have:
Right now the program does nothing. If I remove the last for loop with j as the counter and everything within that for loop, I get an output of 26 letters randomly chosen, but there are duplicates. The last for loop is supposed to say something like, "If the randomly generated letter (substitute) has appeared before in substitute[], then generate a new random number until it is no longer a duplicate of a previous number, at which point the letter which corresponds to the random number is stored in substitute.
So if you could give me some suggestions it would be much appreciated. If I am overcomplicating things and there is a much easier way to do this, please guide me in the right direction.
Thanks,
Noah
EDIT: Spacing in the program code isn't working. Looks fine while I'm editing it though. What's wrong?
EDIT 2: See here for my code, correctly formatted.
Edited by -Noah-Link to comment
https://www.neowin.net/forum/topic/776712-java-generate-the-alphabet-in-random-order-no-duplicates/Share on other sites
32 answers to this question
Recommended Posts