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.
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++);
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");
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;
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
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.
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];
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];
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.
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]
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...
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.
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: ");
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.
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++;
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;
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); }
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++)
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]?
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++;
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();
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 + " "); }
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;
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
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:
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 :
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.