-
Array issue
Hey Everyone,
Only new to this so here goes ... i want to add number/s to an array by a user until a predetermined number 'randomNumber' has been selected, then print the middle and median of that selected array group..
The coding works for the user inputs but i get nothing from the middle or median ... it just says '0'
Could anyone please help me with this ....
Code:
import java.util.Arrays;
import java.util.Scanner;
public class ArrayTest
{
Scanner input = new Scanner( System.in );
int usersGuess;
int randomNumber = 45;
public void enterNumbers()
{
do
{
System.out.printf("Please enter numbers: ");
usersGuess = input.nextInt();
if ( usersGuess != randomNumber )
{
System.out.printf("Please enter numbers: ");
usersGuess = input.nextInt();
}
else
System.out.println("Correct guess");
}
while ( usersGuess != randomNumber );
int testArray [] = new int[ 20 ];
boolean correctGuess = false;
for ( int i = 0; i < testArray.length; i++ )
{
testArray[ i ] = usersGuess ;
if ( testArray[ i ] == randomNumber )
{
correctGuess = true;
break;
}
}
System.out.println();System.out.println( "Middle is: " + testArray
[ ( testArray.length + 1)/2] );
Arrays.sort( testArray );
System.out.println( "Median is: " + testArray[ testArray.length/2] );
System.out.println();
}
}
Code:
public class Test
{
public static void main( String [] args )
{
ArrayTest arrayTest = new ArrayTest();
arrayTest.enterNumbers();
}
}
-
Re: Array issue
First: Do not put two statements into the same line
Second: Print out your values at some locations in your code for debugging. Start with the "usersGuess" before you enter the for() loop
Third: This is too complicated, keep it simple - simple code is less buggy:
Code:
do
{
System.out.printf("Please enter numbers: ");
usersGuess = input.nextInt();
if ( usersGuess != randomNumber )
{
System.out.printf("Please enter numbers: ");
usersGuess = input.nextInt();
}
else
System.out.println("Correct guess");
}
while ( usersGuess != randomNumber );
Remove the duplicate code, there is a way... :)