Sorting Array Of Random Integers
Dec 8, 2014
What the fastest way to sort an array of random integers. My instructor told me to look into an algorithm that uses 2n, but that is all he gave me. I am unable to find anything of the sort (pun intended there) on google, in my text, in my other java books or on here. The only thing that I have come up with are things like mergesort with the exception that the indicies of the Array have to be even. The program that I'm writing takes user input for a minimum to maximum range, the amount of numbers to fill the array in that range, and verbose.
I've tried bubbleSort but it takes forever to sort under the conditions below. I have seen a sorting algorithm that uses n (log n) but didn't really understand how that one worked.
Using the 2n algorithm, I should be able to test the range from 1 - 1000 and have it populate an array of of 1,000,000 random integers. It should be able to complete in a matter of miliseconds.
View Replies
ADVERTISEMENT
Oct 21, 2014
I couldn't where the problem with this code. The question is : (Write a program that reads in nine integers and sorts the value in the ascending order. Next, the program restores the sorted integers in a 3 x 3 two-dimensional array and display the integers as shown in the result.) And this how i did it:
package test1;
import java.io.*;
import java.util.*;
public class test1{
public static void main(String[] args){
int[] hold = new int [9];
Scanner sc = new Scanner(System.in);
System.out.print("Enter 9 integers, press <Enter> after each");
{
for (int i = 0; i < hold.length; i++);
[Code] ....
View Replies
View Related
Nov 8, 2014
So I need to generate 10 random integers in the range 1-20 but i have to store them in an array called numbers. Then I have to call a method called displayArray which displays the contents of the array and for the assignment i have to use a for loop to traverse the array. The method header for the displayArray method is:
public static void displayArray(int[] array)
This is what I have done
public class RandomIntegers {
static int numbers = 0;
public static void displayArray(int[] array) {
System.out.println(numbers + "Numbers Generated");
[Code] .....
View Replies
View Related
Mar 7, 2014
I'm trying to generate random 100 numbers, from 0 to 9, in an array using Math.random, but it only outputs 0s which is very confusing to me. Also, I need to be able to count how many different integers there are like 0s, 1s, 2s... 8s, 9s.
Here's my code, I only got as far as the array then got stumped on the counting part.
import java.util.Arrays;
public class countDigits {
public static void main(String[] args) {
//Create random generator and values
int numbers = (int)(Math.random() * 10);
int arrayCount = 1;
[Code] ....
and my results
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
View Replies
View Related
Feb 7, 2015
I have a problem where I have to create random integers from 1 to n + 1. When the array is displayed I have to find the missing integer from the values that are displayed and show that value. I have to use O(n^2) and O(n) operations. I have created this code so far but I cannot figure out how to make my values display n + 1. It is only displaying values 1, 2, 3, 4 and 5 in random order. I also cannot figure out how to find the missing value. I have created a boolean displayed statement but can't determine how to use it in this code.
=Java
import java.util.Random;
public class Task6
{
public static void main(String[] args)
{
int[] numbers = new int[7]; //create array of numbers
Random random = new Random();
boolean displayed = false; //boolean value to determine if number was displayed
[code]....
View Replies
View Related
Apr 24, 2015
I have to organize the rows from the lower to the higher number, the problem is, what I have only organizes the first 3 rows even If I insert 3,4,5...or 10 rows.
int arg[][] = {
{26, 39, 3, 13},
{22, 97, 17, 123},
{46, 19, 63, 123},
{1, 37, 90, 32},
{17, 37, 90, 32}};
for (int i = arg[0].length - 1; i >= 0; i--) {
for (int j = 0; j < i ; j++) {
for (int k = 0; k < i ; k++) {
if (arg[k][j] > arg[k][j + 1]) {
int temp = arg[k][j];
[Code] ....
View Replies
View Related
Nov 9, 2014
I don't want to use an array. I do not know of a function built into Java to allow me to do this.
View Replies
View Related
Feb 13, 2014
I have double checked this code over and over and I just can't find the problem.
What I'm trying to do is take a file and input it into an 2D array.
Ultimately, I should convert the array of integers to an array of characters, then print it out. The file contains a set of ASCII values.
After printing it out, I should then create methods to manipulate the image produced.
Using 2D arrays is a requirement for this exercise.
I think that somehow I'm overcomplicating this and the solution is a lot more simple than I think, but I can't think of what to change.
The error I am getting is:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 40
at main.main(main.java:17)
Java Code:
import java.util.*;
import java.io.*;
public class main {
public static void main(String[] args)
throws FileNotFoundException {
String[][] data = new String[22][40];
[Code] .....
View Replies
View Related
Feb 16, 2015
filling out a Random array: An Array of Specific Length Filled with Random Numbers This time what I need to do is take the elements from this Random array and assign them to a new Byte array:
for(int i = 0; i < limit-10; i++) {
Random dice = new Random();
int randomIndex = dice.nextInt(array.length);
if (array[randomIndex] < 128) {
System.out.print(array[randomIndex] + " ");
} else if (array[randomIndex] >= 128) {
System.out.print(array[i] + " ");
}
}
byte[] noteValues = new byte[]
{ 64, 69, 72, 71, 64, 71, 74, 72, 76, 68, 76 }; //This is the byte array filled manually!
I've tried amending the manual input to fit in with the Random array, as follows:
byte[] noteValues = new byte[]
{ array[randomIndex] };
In this case, however, the Byte array can't interpret the int values. Also, if the Byte array is outside the 'for' loop, array[randomIndex] cannot be resolved.
View Replies
View Related
Jan 28, 2015
This piece of code i cannot change
public class Lab
{
public static void main(string args[]) {
int ar[]={7,5,2,8,4,9,6};
int sorted[]=new int[ar.length];
/// my code is right here this i can change i keep getting array required int found i'm not sure what i'm doing wrong i do know i need 2 for loops and an if statement.
[code]for(i=0;i<ar.length;i++){
for(j=i+1;j<ar.length;j++){
if(ar.length[i]>ar.length[j]
this piece of code cannot change
for(int i = 0; i<sorted.length; i++)
{
system.out.println("sorted[" + i + "] = " + sorted[i]);[/code]
View Replies
View Related
Jan 20, 2015
import java.util.Arrays;
import javax.swing.JOptionPane;
public class Student {
public static void main(String args[]) {
String [] A =new String [4]; //krijon tabelen e emrave
[Code] ....
It Prints [firstname,secondname,thirdname,fourthname]
and [0,0,7,9]
The problem is that the first 2 integers of the second array are always 0 even if i put another grade like for example 6 or 7...
Our teacher asked to input the names and grades of the students using JOptionPane and then find the MINIMUM grade and how many times this grade is repeated...
View Replies
View Related
Sep 16, 2014
I need to sort a 2D array to look like this : [URL] ....
Here is the code that I have.
File 1:
import java.text.DecimalFormat;
public class Assignment1 {
public static void main(String[] args) {
String[][] rainArray
= {
{"January", "3.03"},
[Code] ....
View Replies
View Related
Nov 18, 2014
The following code is supposed to generate random integers and sort array1 and array2 using two different sorting methods. array1 is to be sorted with a "selection sort" method and array2 is to be sorted with the built-in Arrays.sort() method. However, array1 is the one that has a problem. It does not appear to output any values at all for array size of 4000 or more, such as array1[10000]. The assignment is to generate random integers, sort and benchmark the speeds at which array1 and array2 can generate and sort ints at array1[1000] array2[1000] array1[10000] array2[10000] array1[100000] array2[100000]
/**
*
* The following is a sorting and benchmarking program to sort
* array1 and array2 with 1,000 , 10,000 and 100,000 array sizes.
* array1 uses selection sort from section 7.4 of the book
* and array2 uses the built in Arrays.sort() method.
[code]....
I cannot post the output because the amount of data seems to have crashed the two previous posts I made on this topic due to the size of the problem.
View Replies
View Related
May 8, 2014
I'm in the process of doing a module grade book project and I have a working program, however I have to sort the array of students created first of all by name and then if they are identical, by student ID. I've looked at the compareTo method on several websites and I still don't know how to implement it in my code.
My main is as follows;
public class CommandLineTest {
public static void main(String[] args){
String moduleTitle=Input.getString("Enter module title: ");
double cwPercentage=Input.getDouble("Enter coursework percentage: ");
double examPercentage=Input.getDouble("Enter exam percentage: ");
[Code] .....
View Replies
View Related
Jul 1, 2014
I am trying to write a method that returns the busiest hour in a logAnalyzer class that read web server data and analyze hourly access patterns and stores them in an array. My problem is, in order to get the busiest hour, I need to go through the hourCounts array to find the element with the biggest count.
View Replies
View Related
Dec 18, 2014
I have a method that receives an array of integers and saves the ID of the user inside the array of integers and I keep getting the error: "int[] cannot be converted to int".Here is the code:
public boolean Borrow (String TitleOrAuthor,int id){
int count = 0;
int b1 = 0;
int BookCount [] = new int [b1];
for (int i=0;i<Bcount;i++){
if(Booklist[i].getTitle().equals(TitleOrAuthor))
for(int j=0;j<b1;j++){
BookCount [j]= Booklist[i].getCopies();
BookCount [j]= id;
b1++;
[code]...
View Replies
View Related
Nov 7, 2014
I am workinh with a couple of functions that deal with two dimensional (square) arrays of integers, doing things like checking equality, etc. For example, I know that I get an ArrayOutOfBoundsException in the isEqual function, but I don't know why.
public class MatrixUtils {
//This function checks if two matrices are equal
public static boolean isEqual(int A[][], int B[][]) {
for(int i=0; i<A.length; i++) {
for(int j=0; j<A.length; i++) {
if (A[i][j] != B[i][j]) return false;
[Code] ....
View Replies
View Related
Feb 3, 2015
I am trying to sort an array that I have by alphabetical order but I am having problems. Firstly the code that I have used to sort the array may not even do what I need but havn't got far enough to test it yet so go easy on me . I have read in some places when searching how to do this that I would have to create my own bubble sort in order to achieve this but I was hoping that Java had a built in sort method/function. Secondly I lack the knowledge in java to be able to assign an existing array or even a variable to the newly sorted array as I need the unsorted version with the original name and the newly sorted version as another.
code (This is not all of the code, I decided to include only what I thought was relevant):
import java.util.Arrays;
public class Sentence {
private String words[];
public Sentence(String[] words) { this.words = words; }
@Override
public String toString() {
return "Sentence{" +
"words=" + Arrays.toString(words) +
[Code] ....
Is it possible to shorten the sort function to just this?
public String sorted() {
return Arrays.sort(words);
}
View Replies
View Related
Feb 14, 2015
An array has objects with String firstName, String lastName, int ID, char examType('M' or 'F'), and int score. Every object has both Midterm('M') and Final('F'). The array has to be sorted by the first Midterm- 'M' and immediately followed by the Final ('F') of the same person (object). Im having troubles with coming up with a proper algorithm with gettin the Final- 'F' after Midterm for the same person.
Java Code: public static Exam[] collateExams(Exam[] exams) {
Exam [] r = new Exam[10];
r = exams;
int[] position = new int[10];
int index = 0;
for(int i = 0; i < exams.length; i++)
[Code]...
View Replies
View Related
May 24, 2014
If I have a boolean array that contains 30 elements (boolean[] fish), how do I go about isolating every 10 elements to use for something specific?
Say there are 30 types of fish stored within the boolean array and 0-9 are fish found specifically in the Indian Ocean, 10-19 are fish found specifically in the Atlantic, and 20-29 are fish specifically found in the Pacific Ocean. And for those 10 fish [0-9], [10-19], [20-29], each is a different color (red, orange, green, blue, white, black, silver, yellow, purple and gold), where the colors and locations of the fish are enum types Colors and Locations.
How do I go about appointing those characteristics to the fish?
Ex: elements [0-9] are fish from the Indian Ocean and [0] is red, [1] is orange, [2] is green, [3] is blue, [4] is white, [5] is black, [6] is silver, [7] is yellow, [8] is purple, and [9] is gold.
elements [10-19] are fish from the Atlantic Ocean and [10] is red, [11] is orange, [12] is green, [13] is blue, [14] is white, [15] is black, [16] is silver, [17] is yellow, [18] is purple, and [19] is gold.
elements [20-29] are fish from the Indian Ocean and [20] is red, [21] is orange, [22] is green, [23] is blue, [24] is white, [25] is black, [26] is silver, [27] is yellow, [28] is purple, and [29] is gold.
Will I need to appoint those characteristics in the constructor after initializing fish = new boolean[30]?
View Replies
View Related
Nov 6, 2014
This code is designed to interpret an array of integers and rearrange it so that the even numbers come before the odd. But it fails when I run it against my test?
public void evensLeft(int[] array) {
int myFun[] = new int[array.length];
int k = 0;
for (int i = 0; array.length-1 > i; i ++) {
if (array[i]%2==0) {
myFun[k] = array[i];
k++;
[Code] ....
View Replies
View Related
Apr 10, 2014
I am sorting an array in ascending and descending order. I am using the nethods in Arrays as below
Arrays.sort(myArray)
I want to print both input and output array in sysout.
Object[] ipArray = [45,8,32,41,11,7];
Object[] opArray;
Object mArray = ipArray;
Arrays.sort(mArray); This is changing the ipArray too ?
How can I get my input array unmodified ?
View Replies
View Related
Apr 3, 2015
I am working on an assignment where I initially have to take as input a number. That number will be the number of strings the user is going to type. As they are typed, they are to be sorted alphabetically, then printed. It took me a while to get this far, and I am stuck on how to properly invoke the other methods in main. There has to be at least three methods: main, one to do the sorting, and one to print the new array. I'm quite sure there are mistakes in my code, but this is definitely a challenge for me. Here is the code. Keep in mind that the methods being invoked are blank on purpose.
I am not allowed to use the Arrays, Arraylist or Collection class. This is basically to test my ingenuity and to see how arrays actually work.
import java.util.*;
public class Sort_as_Inserted {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter number of elements to be sorted: ");
String element_number = input.nextLine();
[Code] ....
View Replies
View Related
May 7, 2014
I am trying to create a method that takes an array of integers and prints it out using System.out.print. I'm having trouble creating the right way to print it out since I cannot find a way to convert the int array to a string to print it out.
public static String printArray(int[] num){
for (int i=0; i<num.length;i++){
String msg = num[i];
}
return System.out.print(msg + " ");
}
View Replies
View Related
Apr 10, 2015
I am pretty new to Java and am just learning about two dimensional arrays. I think that I understand the concept, but I seem to be having trouble adding stuff to my array. I wanted to make an array to hold both strings and integers, but wasn't sure if I could put integers in a string array. So I thought that I would be able to convert my integers to string and then add them. This however causes an error. This is my code(yes its probably not the best):
static String [][] students = new String [14][4];
static int number = 0;
String fName, lName, fullName;
int test1, test2, test3, test4;
String a, b, c, d;
[Code] .....
View Replies
View Related
Aug 5, 2012
I have a problem where i have to write some code to read through an int array and print out the different integers and how many times they occur. For example:
if the array contained the numbers 1,4,2,3,5,4,4,7,5,4,3,6,8,6,4,
i would need the print to appear something like this
integer: 1, times: 1
integer: 4, times: 5
integer: 2, times: 1
etc
as the array is read sequentialy from element 0 to the end. the program should find the integer value in the first element (increment a counter by 1) and then search all other elements to see if the integer reoccurs (counter++ for each time it reappears). obviously the counter would be the 'times' value in the second column.
My problem is i can get this accomplished yet i cant get the program to recognise when it has already registered an integer in a previous element and skip to the next element looking for a new integer. SO for each element in the array it prints the integer and then searches the entire array for the integer again and increments the counter accordingly. so in essence there is a line printed for each integer the number of times it actually occurs.
I simply wish to have my code to find an integer and the number of times it occurs. and then disregard the elements it has registered the previous integer in.
Also, keep in mind that i am NOT permitted to use any new data structures/arrays for storing/remembering values. I can only use int and double variables throughout.
what i have so far is this: with the array being customerID[] :
Java Code:
int num;
int counter;
for(int count = 0; count < customerID.length; count++)
{
counter = 0;
num = customerID[count];
for(int count2 = 0; count2 < customerID.length; count2++)
[Code]...
The output for the int array 1,1,3,0,3,2,0,4,1,3, looks something like this:
Integer: 1, Times: 3
Integer: 1, Times: 3
Integer: 3, Times: 3
Integer: 0, Times: 2
Integer: 3, Times: 3
Integer: 2, Times: 1
[Code]...
and as you can see lines are repeated for each time the same integer occurs in a new element. i just need my code to skip an element if the integer has been previously encounterd and recorded. i.e i need it to look more like this :
Integer: 1, Times: 3
Integer: 3, Times: 3
Integer: 0, Times: 2
Integer: 2, Times: 1
Integer: 4, Times: 1
with the first encountered integer being checked throughout the array and then moving to the next integer/element which is not the same as any previous.
View Replies
View Related