Last Java programming questions

  • Thread starter Thread starter JasonJo
  • Start date Start date
  • Tags Tags
    Java Programming
Click For Summary

Homework Help Overview

The discussion revolves around creating a Java program that generates permutations of five user-input integers ranging from 0 to 9. The task includes handling duplicate permutations and exploring methods to achieve this through nested loops and array manipulation.

Discussion Character

  • Exploratory, Conceptual clarification, Mathematical reasoning

Approaches and Questions Raised

  • Participants discuss the structure of the program, including the use of nested loops and arrays to generate permutations. There is mention of the need for a second array to store temporary permutations and considerations for avoiding duplicates.

Discussion Status

Some participants have offered insights into the arrangement of elements and the use of loops, while others question the necessity of nested loops versus alternative methods. The conversation is ongoing, with various strategies being explored without a clear consensus on the best approach.

Contextual Notes

One participant expresses a lack of background in discrete math, indicating potential gaps in understanding the underlying concepts necessary for solving the problem.

JasonJo
Messages
425
Reaction score
2
Your task is to create a Java program with the name that asks the user for 5 integers in the main method that are between 0 and 9, inclusive. You should then write a method called “permutations” which accepts these 5 integers and prints all possible permutations for those numbers. (Hint: You will need 5 nested loops and an array to do this. Store the 5 numbers in an array inside the method and use the 5 loops to generate all possible array position combinations). Next, after this method is called, generate all possible permutations for (9 – 1st number), (9 – 2nd number), (9 – 3rd number), (9 – 4th number), and (9 – 5th number). For example, if the first time you entered the numbers (5, 6, 7, 8, 9), the second time the method is called the numbers will be (4, 3, 2, 1, 0). It is okay for this assignment if there are duplicate permutations that are printed.

And the next part is do the same problem but make sure there are no duplicate permutations.

i don't really know any discrete math, so any insight to this problem would be great.

i tried to conceptualize it in terms of switching indices of an array, but i don't quite know how to formulate it.
 
Physics news on Phys.org
First, place the first element. This is your outer loop and you can place the outer element in five different positions: 0, 1, 2, 3, or 4. The outer loop counter can represent the current position of the first element.

Then, place the second element. The second element can have four different positions because when you come to the position where you already have the first element, you have to skip it for the second element.

Proceed similarly for the other elements.
 
Actually, that method pretty much requires that you use a second array to store the temporary permutation as you go. If you want to just print it immediately without storing it again, then you can modify the method so that the x'th loop counter refers to the array index of the element to go at the x'th location.
 
I like BicycleTree's suggestion, unless you're required to use nested loops for the learning value. Then again, you can use nested loops to print out a list of permutations of the letters a,b,c,d,e and then copy them into your program, having it store values for each letter. Perhaps you'll get extra credit for making it run faster :)
 

Similar threads

  • · Replies 17 ·
Replies
17
Views
4K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
5K
Replies
1
Views
2K
  • · Replies 21 ·
Replies
21
Views
4K
  • · Replies 16 ·
Replies
16
Views
3K
  • · Replies 13 ·
Replies
13
Views
4K