Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 5 of 5

Thread: help needed

  1. #1
    Junior Member
    Join Date
    Mar 2010
    Posts
    7
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Default help needed

    ok so ive to hand this question in by the end of today 19:00

    Here's the Q.Declare an array of 50 student numbers and fill it with integers between 1 and 1000.
    Output all elements to the screen. Check if there are duplicates and if so output the index at which these duplicates occur. e.g. Student[21] = 444 Student[33] = 444

    I know my problem is in the 3rd nested loop with the intiger i,

    class WS5bQ2
    {
    	public static void main(String args[])
    	{
    		int grade[][] = new int[1][50];
    		for(int row=0; row<grade.length; row++)//loop to assingn values to the array
    		{
    			for(int col=0; col<50; col++)//controls the col
    			{
    			grade[row][col] = (int)(Math.random()*10000000%1000+1);
    			}
    		}
    		for(int row=0; row<grade.length; row++)//output array to screen
    		{
    			for(int col=0; col<50; col++)
    			{
    			System.out.print(grade[row][col]+"  ");
    			}
    		}
    		System.out.println("");
    		for(int row =0; row<grade.length; row++)//nested loop to check for matching grades
    		{
    			for(int col = 1; col <grade.length; col++)
    			{
    				int i = 0;
    				if(grade[row][i] == grade[row][col])
    				{
    					System.out.println("Stundent "+i+  "= "+grade[row][i]+"   Stundent "+col+"= "+grade[row][col]);
    				}
    				i++;
     
    			}//close second loop
    		}//close 1st loop
    	}//close main
    }//close class

    ive laso tried the 3rd nested loop this way

    		for(int i =0; i<=49; i++)//nested loop to check for matching grades
    		{
    			for(int col = 1; col <grade.length; col++)
    			{
    				if(grade[0][i] == grade[0][col])
    				{
    					System.out.println("Stundent "+i+  "= "+grade[0][i]+"   Stundent "+col+"= "+grade[0][col]);
    				}
    			}//close second loop
    		}//close 1st loop


  2. #2
    Super Moderator helloworld922's Avatar
    Join Date
    Jun 2009
    Posts
    2,896
    Thanks
    23
    Thanked 619 Times in 561 Posts
    Blog Entries
    18

    Default Re: help needed

    you're checking the lengths incorrectly. The .length field only returns the length for that dimension.

    ex.

    int[][] myMatrix = new int[5][10];
    System.out.println("there are " + myMatrix.length + " rows in the matrix.");
    System.out.println("there are " + myMatrix[0].length + " elements in row 0.");

    I also believe that there's no need for the multi-dimension arrays to be "rectangular".
    int[][] myMatrix = new int[5][];
    myMatrix[0] = new int[6];
    myMatrix[1] = new int[7];
    System.out.println("their are " + myMatrix.length + " rows."); // 5
    System.out.println("there are " + myMatrix[0].length + " elements in row 0."); // 6
    System.out.println("there are " + myMatrix[1].length + " elements in row 0."); // 7

  3. #3
    Junior Member
    Join Date
    Mar 2010
    Posts
    7
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Default Re: help needed

    i dont really know what you mean rectangle,
    ive got the array to output the matches but it always matches itself with itself aswell, can anyone show me how to reslove this problem
    		for(int i= 1; i<=49; i++)// checking for duplicate entry's in the array and out index of duplicate
    		{
    			for(int col = 0; col <49;col++)
    			{
    				if(grade[0][col] == grade[0][i])
    				{
    					System.out.println("Stundent "+i+  "= "+grade[0][i]+"   Stundent "+col+"= "+grade[0][col]);
    				}
    			}//close second loop
    		}
    Last edited by The Lost Plot; March 12th, 2010 at 01:41 PM.

  4. #4
    Super Moderator helloworld922's Avatar
    Join Date
    Jun 2009
    Posts
    2,896
    Thanks
    23
    Thanked 619 Times in 561 Posts
    Blog Entries
    18

    Default Re: help needed

    A rectangular 2 dimensional array simply means that every row has the same number of elements. ex:

    1 2 3 4 5 6
    2 3 4 5 6 7
    3 4 5 6 7 8
    1 2 3 4 5 6

    this is rectangular because every row has 6 elements.

    1 2 3
    1 2 4 5 6 7
    1 2 3
    1 2 3 4
    1 2 3 4 5

    this isn't rectangular because there are rows with different number of elements. Anyways, the point I was trying to point out was that you were trying to get the length of the wrong thing.

    		for(int row =0; row<grade.length; row++)//nested loop to check for matching grades
    		{
    			[b]for(int col = 1; col <grade[row].length; col++)[/b] // this line is different
    			{
    				int i = 0;
    				if(grade[row][i] == grade[row][col])
    				{
    					System.out.println("Stundent "+i+  "= "+grade[row][i]+"   Stundent "+col+"= "+grade[row][col]);
    				}
    				i++;
     
    			}//close second loop
    		}//close 1st loop

  5. #5
    Member Faz's Avatar
    Join Date
    Mar 2010
    Posts
    97
    Thanks
    5
    Thanked 14 Times in 14 Posts

    Default Re: help needed

    Firstly you don't don't have a 3rd nested loop it's a for statement inside nested loop, just so you realise .

    Secondly you just need a statement to prevent it from running when it's comparing the same one. You can make another if statement outside it but I would change your current one to:

    	if(grade[row][i] == grade[row][col] && i != col)

    Have you gone through this sort of stuff yet?

Similar Threads

  1. ebooks needed
    By programmer2009 in forum The Cafe
    Replies: 3
    Last Post: September 17th, 2011, 10:26 AM
  2. help needed with netbeans
    By jalkin in forum Java IDEs
    Replies: 1
    Last Post: May 4th, 2010, 09:08 PM
  3. [SOLVED] Help needed!
    By subhvi in forum Web Frameworks
    Replies: 4
    Last Post: February 18th, 2010, 09:26 AM
  4. [SOLVED] A little help needed..
    By JavaStudent87 in forum What's Wrong With My Code?
    Replies: 0
    Last Post: January 22nd, 2010, 06:54 PM
  5. Replies: 4
    Last Post: May 22nd, 2008, 10:59 AM