Knights Tour 2d Array With GUI ArrayIndexOutofBoundsException
Apr 6, 2014
Got the gui to run but the program fails after the first or second loop. It seems to not being able to find the next move with out moving off the board. This is my output on the command line
8 8 8 8 8 8 8 8 NNE NEE SEE SSE SSW SWW NWW NNW java.awt.Point[x=1,y=3]
Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: -1
at ktdemo.KnightsTour.nextMove(KnightsTour.java:220)
at ktdemo.KnightsTour.nextMove(KnightsTour.java:240)
at ktdemo.KnightsTour.nextMove(KnightsTour.java:240)
at ktdemo.KnightsTour.findSolution(KnightsTour.java:203)
at ktdemo.KnightsTour.access$800(KnightsTour.java:20)
at ktdemo.KnightsTour$StartTourListener.mousePressed(KnightsTour.java:162)
at java.awt.Component.processMouseEvent(Component.java:6502)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
I have tried changing the bounds of the arrays but I still don't see where the exception is occurring or how to resolve this issue. Am I missing something blatantly obvious? Below are the two class files for the lottery application that I've been working on for a school assignment.
package com.lottery.test; import com.lottery.Alarcon.*; import java.util.Scanner; public class PlayLottery { public static void main(String [] args){ System.out.println("CIS-132. Lab 8. Problem #9 - Lottery. Faber Alarcon."); Lottery lottery = new Lottery();
[Code] ....
I forgot to post the error message I was getting, here it is.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at com.lottery.Alarcon.Lottery.compareNumbers(Lottery.java:26) at com.lottery.test.PlayLottery.main(PlayLottery.java:27) Java Result: 1
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 am taking the Class Algorithms and Datastructures and got an assignment for Lab that really throws me off. The goal is to create an Array out of a given CSV file, implement several Methods that get the size of array, etc.
I am still stuck in the first part where the CSV has to be imported into the Array. My problem is that I need a mechanism that figures out the needed size for the Array, creates the array, and only then transfers the data from the CSV.
The list consists of the following wifi related values:
MAC-Adress, SSID, Timestamp, Signalstrength.
These are on the list, separated by comma. The Columns are each of these, and the rows are the four types of values making up the information on a certain wifi network.
The catch is, we are not allowed to use any of the following:
java.util.ArrayList java.util.Arrays and any class out of java.util.Collection.
So far I used the BufferedReader to read in the file and tried to implement the array, but I get an arrayindexoutofboundsexception.
Below is my Code (Its still an active construction zone):
public class WhatsThere { public WhatsThere(String wifiscan) throws IOException { } public static void main(String[] args) throws IOException { // WhatsThere Liste = new WhatsThere(String wifiscan); String[][] arrayListe = new String[0][0];
I am working on a problem where i have to create a 2d array with given input of the dimensions (odd number) of array, along with a number within the array and to then print out all of the numbers surrounding that number.
Anyway, i am working on simply making the spiral, which should look like the one below.
n = 3
7 8 9 6 1 2 5 4 3
where the 1 always starts in the center with the 2 going to the right, 3 down, then left etc. etc. I was able to create the code by starting on the outer edges rather than the center and working my way to the middle, however my code always starts from the top left and goes around to the center where it needs to start from the top right. I am having trouble altering my code to meet this criteria. This is what i have thus far.
import java.io.*; public class Spiral { public static void main(String args[])throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter the number of elements : "); int n=Integer.parseInt(br.readLine());
We were given a class lab that asks us to write a program that create a multidimensional array ( 5 x 5 ), populates the array using nested loops with letter from A until Y, and displays the array to the screen. and the result should look like this:
A B C D E F G H I J K L M N O P Q R S T U V W X Y
How to write this program.. I have tried all my best but the results are not coming like this..
I have the following code in which I am looping through the rows of one array (composed of Strings) and copying it to another array. I am using .clone() to achieve this and it seems work as it changes the memory location of the rows themselves. I did notice that the String objects are still pointing to the same location in memory in both arrays but I won't worry about that for now, at the moment I just want to understand why the array I am cloning is not successfully assigning to the other array.
This is the incorrect line: ar[r] = maze[r].clone();
Write a method that returns a new array by eliminating the duplicate values in the array using the following method header: public static int[] eliminateDuplicates(int[] list). The thing is that I found the working solution that is written below, but how it works. How to eliminateDuplicates method done with flag and flag2.
Here is the code:
Java Code:
import java.util.Scanner; public class Exercise06_15 { public static void main(String[] args) { java.util.Scanner input = new java.util.Scanner(System.in); int[] numbers = new int[10]; System.out.println("Enter ten numbers: ");
I am receiving an ArrayIndexOutOfBoundsException for the following code, which moves a creature through a 2D array maze. I have altered the clauses of the first if statement for the four direct methods (north, south, east, and west) multiple times (i.e. x + 1 >= 0 && x > 0 && x - 1 > 0 && x < array.length...etc). However, while the code occasionally runs, more often than that it returns this exception. Catching the exception seems like a poor workaround though if worst comes to worst I'll do that.
I included only the relevant functions of the code:
public boolean goNorth(char[][] array) { boolean success = true;; x = getX(); //x = this.x; y = getY(); //y = this.y; if ((x - 1 >= 0 && x - 1 < array.length) && (y >= 0 && y < array[x].length)) {
I am passing input from the user to a method that will initialize an array of the data (scores in this case). The method is filling the entire array with the last input value.
array initializer method
Java Code:
public static float[] inputAllScores(float validScore) { float[] diverScores = new float[7]; for (int i = 0; i < diverScores.length; i++) { diverScores[i] = validScore; } return diverScores; } mh_sh_highlight_all('java');
So I have this stack. I'm writing out all the operations and what not but I'm having trouble bypassing this "generic array creation" problem. I'm meant to be creating an array based implementation of a stack and from my research from google and my various attempts at things, I have not found a solution that works.
In addition; I have all the operations written that I need except for one final one. And that is clear(). clear() is meant to empty the array, essentially it is a popAll() method. Then all I need to do is set up so I can print out the arrays and I should be able to handle everything else.
StackInterface:
/** An interface for the ADT stack. */ public interface StackInterface<T> { /** Adds a new entry to the top of this stack. @param newEntry an object to be added to the stack */ public void push(T newEntry);
/** Removes and returns this stackÕs top entry. @return either the object at the top of the stack or, if the stack is empty before the operation, null */ public T pop();
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.
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];
How can I access the index of one character array and store those indexes into another array? I need this array of indices so as to perform an addition with another array.
Suppose I have a char array that stores all the letters of the alphabet (say alpha) and I have an another char array (say letter) that contains some letters in it. I want to retrieve those letters from the "letter" array and check its index in the "alpha" array and store that index into another integer array.
I just tried to fill an array with some numbers, calculated by a other function.I just tried to print this array as array, but it doesnt work. Maybe its just about the main method.
public static void main(String[] args) { ggT(5); }
When I insert: title, category, year, artist in 4 Strings And when I press "enter" i put those 4 in a array "large", and then when I can start a new music insert with 4 new string elements and add those in the large array..So: I have an array "large" with the length 19 (or so..)(max ~100 or so)Then I what to: get,in a new array "title",the elements:0,4,8,12,16 (from the large array) and put them in a scrollable list. And when I select one element in the title array I then whant to get 3 remaining elements from this. And put it in a array called selection.
So the "large" and the "title" arrays must be dynamically sizes... or be copied to a larger sized..
1 can it be done with arrays? 2 how do dynamically change the size of for example the array "title"? 3 how do I receive the elements 0,4,8,12,16 and so on, (to ( large.length-3) and add it to the title array?
just started programming in Java. My goal in this part of code was to read out the first array, while saving the number of the chart in the array to a new array.
first question: is the code clean and the method correct?
2nd question: i get an error when i try to print the newInt Array for no apparent reason.
Java Code:
public class viereinsdiezweite { public static void main(String[] args){ int[] newInt = new int[20]; int specialInt = 3; int[] bigInt = new int[]
I am having trouble fixing and figuring out how to change my code. My out put is very off.
" Enter a 3-by-3 matrix row by row: 1 1 1 1 1 1 1 1 1 Sum of the major diagonal is 6.0 Sum of the values of the column are: 10.0 Sum of the values of the column are: 20.0 Sum of the values of the column are: 30.0 "
Code is below:
public static void main(String[] args) { double[][] m = new double[3][3]; m = createArray(); } private static double[][] createArray() {
import java.util.*; import java.text.*; public class Linearize { public static void main(String[] args) { // Create new Scanner and Random and Decimal objects Scanner s = new Scanner (System.in); Random g = new Random (); DecimalFormat oneplaces = new DecimalFormat (".00");
[code]....
I am really close to finishing this program and my output is almost there, except it's only printing out the first half or so of the array. I have two for loops and two counters to determine the size of the array and then copy the multidimensional array's values into the 1D array, but it only prints out the first half of the array as such:
And yes, I realize that I should be formatting my Print statements with % but my instructor doesn't seem to care about it (he never taught it to us) so for the time being I am being stubborn and using .
I have a string array but each cell in the 1d string array stores each character the text file is :
"START START START The quick brown fox jumps over the lazy dog 1234567890-= !"$%^&*()_+ QWERTYUIOP{}ASDFGHJKL:@~|ZXCVBNM<><? /.,mnbvcxzasdfghjkkl;'#][poiuytrewq789654123.0 +-*/``""$% hello this is a test file using all the characters availible on the keyboard for input END END END END"
so in the string it is:[0] = S, [1]=A, [2]=R ...ect along the text basically i need to convert each character in each cell of the 1d string array to its hesidecimal value..i have created my own method which will take in a char and return a string containing the charcters hex value.
public static String toHex(char c) { char char2ascii = c; int i = 0; int num = (int) char2ascii; String hex ="";
[code]...
what i want to do is run each cell through the toHex method so i eventually have a string array containing the hex value of each character in my text.
example..i want:
String[] hexarray = S, T, A, R, T
a run it through my method to convert to hex then it will become
String[] hexarray = 53, 54, 41, 52, 54
Im not allowed to use inbuilt libarys and classes to do the hex conversion thats why i have my own method for it .