-
Can anybody crack this..........?
Write, compile, and run a program to do the following. Add comments to each class and each method in the standard form (javadoc-compatible). Remember to define all variables at the beginning of each method. Submit the source files as a Reply to this posting.
1. Write a static method displayArrayAsTable which takes three parameters: an array of integers, the number of elements in the array, and the number of integers to be displayed per line. The method should display the elements of the array in a table of the given number of integers per line (the last line may have to be shorter).
2. In the main method:
• Prompt the user for the number of integer values to sort.
• Create an array of the entered size.
• Randomly generate the given number of integers and store the integers in the array.
• Display the array of integers in a table of 10 integers per line using displayArrayAsTable.
• Copy the array into another array. Sort the second array using selection sort. Display the name of the sort and its running time. Display the sorted array in a table of 8 integers per line using displayArrayAsTable.
• Copy the array into yet another array using insertion sort. Display the name of the sort and its running time. Display the sorted array in a table of 7 integers per line using displayArrayAsTable.
• Copy the array into yet another array. Sort the second array using bubble sort. Display the name of the sort and its running time. Display the sorted array in a table of 9 integers per line using displayArrayAsTable.
-
I'm sure there are many people who can "crack" that, but I seriously doubt you'll find any who'll post you the answer! lol
-
Have you tried asking your Tutor/Lecturer for help on this marked assessment?
-
yes i have......
He has helped me all he said he would.........what I do not understand is the sort methods. I was never taught them and this guys a big *** and expects me to be able to learn them somewhere. This is the code I have got together so far...
public class LabFour
{
public static void main(String[] args)
{
// instance fields
String input;
int number, numbers, i;
Random generator;
int []intialArray;
// gets the input from the user
input = JOptionPane.showInputDialog
("How many elements do you wish to have? ");
number = Integer.parseInt(input);
// generates random numbers rolled for the amount the user input
intialArray = new int [number];
generator = new Random();
for (i = 0; i < number; i++)
{
numbers = 1 + generator.nextInt(number);
intialArray[i] = numbers;
}
}
public static void displayArrayAsTable(int[] a, int numE, int numD)
{
int i;
for (i = 0; i < numE; i++)
{
System.out.print(a[i]);
if ( i % numD == 0 )
System.out.println();
}
}
However when I try to show the first table of 10 numbers I get an error trying to output the static method displayArrayAsTable. Please someone help me out I would greatly appreciate it. Thank you.
-
I fiddled with your code for a bit to get it working, but i had to comment out some of your code as i didn't have the Random class to work with, so i used some number literals.
Code:
public class LabFour
{
public static void main(String[] args)
{
// instance fields
String input;
int number, numbers = 0, i;
//Random generator;
int []intialArray;
/* gets the input from the user
input = JOptionPane.showInputDialog
("How many elements do you wish to have? "); */
number = 5; //Integer.parseInt(input);
// generates random numbers rolled for the amount the user input
intialArray = new int [number];
//generator = new Random();
for (i = 0; i < number; i++)
{
numbers = 1 + 1; //generator.nextInt(number);
intialArray[i] = numbers;
}
displayArrayAsTable(intialArray, number, numbers);
}
public static void displayArrayAsTable(int[] a, int numE, int numD)
{
int i;
for (i = 0; i < numE; i++)
{
System.out.print(a[i]);
if ( i % numD == 0 )
System.out.println();
}
}
}
Hope that helps, you should be able to tweak it from there!
Cheers, DJDaveMark
-
Originally posted by DJDaveMark
Code:
for (i = 0; i < numE; i++)
{
System.out.print(a[i]);
if ( i % numD == 0 )
System.out.println();
}
recommend:
Code:
for (i = 0; i < numE; i++)
{
System.out.print( (a[i]>9?a[i]:" "+a[i]) + ", ");
if ( i % numD == 0 )
System.out.println();
}
for array {1, 17, 5, 99, 2, 13, 67, 7, 97, 34, 22, 35, 41, 68, 12, 8}
output:
Code:
old: 11759921367797
3422354168128
new: 1, 17, 5, 99, 2, 13, 67, 7, 97,
34, 22, 35, 41, 68, 12, 8
-
heres what i got........
thanks for the code but I have figured out most of it.......can somebody tell me if this looks ok...?
import javax.swing.JOptionPane;
import java.util.Random;
/*
Name: Devin Howton
Date: February 17th, 2004
Assignment: Create a program that will fill an array with random
numbers which we will then place by value in a new
array.
*/
public class LabFour
{
public static void main(String[] args)
{
// instance fields
String input;
int number, numbers, i, temp, j;
Random generator;
int []intialArray;
int []selectionArray;
int []insertionArray;
int []bubbleArray;
// gets the input from the user
input = JOptionPane.showInputDialog
("How many elements do you wish to have? ");
number = Integer.parseInt(input);
// generates random numbers rolled for the amount the user input
intialArray = new int [number];
generator = new Random();
for (i = 0; i < number; i++)
{
numbers = generator.nextInt(number);
intialArray[i] = numbers;
}
// copies the array into another array which will
// sort using the selection sort method.
selectionArray = new int [number];
for (i = 0; i < number; i++)
{
selectionArray[i] = intialArray[i];
}
for (i = 0; i < selectionArray.length - 1; i++)
{
for (j = i+1; j < selectionArray.length; j++)
{
if (selectionArray[i] > selectionArray[j])
{
temp = selectionArray[i];
selectionArray[i] = selectionArray[j];
selectionArray[j] = temp;
}
}
}
// copies the array into another array which will
// sort using the insertion sort method.
insertionArray = new int [number];
for (i = 0; i < number; i++)
{
insertionArray[i] = selectionArray[i];
}
for (i = 1; i < insertionArray.length; i++)
{
boolean inserted = false;
j = i;
while ((j >= 1) && (inserted == false))
{
if (insertionArray[j] < insertionArray[j-1])
{
insertionArray[j] = insertionArray[j-1];
insertionArray[j-1] = insertionArray[j];
}
else
{
inserted = true;
j--;
}
}
}
// copies the array into another array which will
// sort using the bubble sort method.
bubbleArray = new int [number];
for (i = 0; i < number; i++)
{
bubbleArray[i] = insertionArray[i];
}
int n = bubbleArray.length;
boolean notDone = true;
while (notDone)
{
n--;
notDone = false;
for (i=0; i < n; i++)
{
if (bubbleArray[i] > bubbleArray[i+1])
{
temp = bubbleArray[i];
bubbleArray[i] = bubbleArray[i+1];
bubbleArray[i+1] = temp;
notDone = true;
}
}
}
// displays first array of numbers not sorted
displayArrayAsTable(intialArray, number, 10);
System.out.println();
displayArrayAsTable(selectionArray, number, 8);
System.out.println();
displayArrayAsTable(insertionArray, number, 7);
System.out.println();
displayArrayAsTable(bubbleArray, number, 9);
}
public static void displayArrayAsTable(int[] a, int numE, int numD)
{
int i;
for (i = 0; i < numE; i++)
{
if ( i % numD == 0 )
System.out.println();
System.out.print(a[i] + " ");
}
}
}
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
Forum Rules
|
Top DevX Stories
Easy Web Services with SQL Server 2005 HTTP Endpoints
JavaOne 2005: Java Platform Roadmap Focuses on Ease of Development, Sun Focuses on the "Free" in F.O.S.S.
Wed Yourself to UML with the Power of Associations
Microsoft to Add AJAX Capabilities to ASP.NET
IBM's Cloudscape Versus MySQL
|
Bookmarks