Computer Science Canada Messed up output |
Author: | Magic Man [ Sun Jun 10, 2007 9:26 am ] |
Post subject: | Messed up output |
Output is messed up: [I@ca0b6 [I@ca0b6 [I@ca0b6 [I@ca0b6 [I@ca0b6 [I@ca0b6 [I@ca0b6 [I@ca0b6 [I@ca0b6 [I@ca0b6 Quote: int []ovrallavg = new int [10];
for (int i = 0; i<10;i++){ ovrallavg [i] = ((Array [i][1]+ Array [i][2]+Array [i][3]+ Array [i][4])/4); Arrays.sort (ovrallavg); System.out.println(ovrallavg); } Can anyone tell me what the problem is? |
Author: | Ultrahex [ Sun Jun 10, 2007 9:53 am ] |
Post subject: | Re: Messed up output |
you are printing out the reference pointer to the array, by doing: System.out.println (ovrallavg); you are saying print out the reference pointer of the array. which it is doing! |
Author: | Magic Man [ Sun Jun 10, 2007 10:09 am ] |
Post subject: | Re: Messed up output |
Well i am supposed to print the average fro lowest to highest but i cant seem to figure out how to. here is the entire program. Quote: import java.util.Scanner;
import java.io.*; import java.util.Arrays; import java.text.DecimalFormat; public class Java58 { /** * */ /** * @author * */ public static void main(String[] args) { // TODO Auto-generated method stub // 2007/06/11 // Markbook 1992 // This program is an interactive markbook where user has various options. Scanner in= new Scanner (System.in); boolean program = false; int reply=0; int index; int stdntavg; double mean=0; int [][] Array = new int [10][5]; for (int i = 0; i<Array.length;i++){ for (int j = 0; j<Array[0].length;j++){ Array [i][j]=-1; } } System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\tAsylum Software Presents..."); System.out.print("\t\t\t\t\t\t\t\tMarbook 1992\n"); try { Thread.sleep(3000); // Wait 5 seconds } catch (InterruptedException e) { } int a = 0; for(a=0;a<25;a++) System.out.println("\n"); System.out.print("Note: All students are assigned a -1 by default.\n\n"); try { Thread.sleep(3000); // Wait 5 seconds } catch (InterruptedException e) { } int x = 0; for(x=0;x<25;x++) System.out.println("\n"); while (program==false) System.out.println ("\nASYLUMSOFTWARE.:.ASYLUMSOFTWARE.:.ASYLUMSOFTWARE.:.ASYLUMSOFTWARE.:.ASYLUMSOFTWARE.:.ASYLUMSOFTWARE.:.ASYLUMSOFTWARE.:.ASYLUMSOFTWARE.:.ASYLUMSOFTWARE.:." ); System.out.print("\nPlease choose one of the following 7 options: "); System.out.println ("\n 1 - Enter marks for a student." ); System.out.println (" 2 - Display overall average of specific student."); System.out.println (" 3 - Display marks in order of student index."); System.out.println (" 4 - Display the average of the students' averages. [Lowest to Highest]."); System.out.println (" 5 - Display the mean of the students' overall averages."); System.out.println (" 6 - Display the median of students' overall averages."); System.out.println (" 7 - EXIT"); reply = in.nextInt(); switch (reply){ case 1: System.out.println ("Enter index of student: "); index = in.nextInt(); System.out.println ("Enter first mark: "); Array [index][1]= in.nextInt (); System.out.println ("Enter second mark: "); Array [index][2]= in.nextInt (); System.out.println ("Enter third mark: "); Array [index][3]= in.nextInt (); System.out.println ("Enter fourth mark: "); Array [index][4]= in.nextInt (); break; case 2: System.out.println ("Enter student index for corresponding average: "); index = in.nextInt(); stdntavg = ((Array [index][1] + Array [index][2] + Array [index][3] + Array [index][4])/4); if (stdntavg==-1); System.out.println ("No marks have been entered for this student. Default average is -1."); System.out.println(stdntavg); break; case 3: for (int i = 0; i<10;i++){ System.out.println(i + " " + ((Array [i][1]+ Array [i][2]+Array [i][3]+ Array [i][4])/4)); } break; case 4: int []overallavg = new int [10]; for (int i = 0; i<10;i++){ overallavg [i] = ((Array [i][1]+ Array [i][2]+Array [i][3]+ Array [i][4])/4); Arrays.sort (overallavg); System.out.println(overallavg [i]); } break; case 5: int[] meanavg = new int [10]; for (int i = 0; i<10;i++){ meanavg[i] = (Array [i][1]+ Array [i][2]+Array [i][3]+ Array [i][4])/4; } for (int i = 0; i<10;i++){ mean = mean + meanavg [i]; } mean = mean/10; mean = mean*100; mean = (int)mean; mean = mean/100; System.out.println (mean); break; case 6: int[] medavg = new int [10]; for (int i = 0; i<medavg.length;i++){ medavg[i] = (Array [i][1] + Array [i][2] + Array [i][3] + Array [i][4])/4; } Arrays.sort (medavg); int middle = medavg.length/2; if (medavg.length%2 == 1) // Odd number of elements -- return the middle one. System.out.println (medavg[middle]); else // Even number -- return average of middle two System.out.println ((medavg[middle-1] + medavg[middle]) / 2.0); break; case 7: program = true; System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\tASYLUM SOFTWARE COPYRIGHT 2007(1992). ALL RIGHTS RESERVED."); System.out.print("\t\t\t\t\t\t\t\tPROGRAM TERMINATED."); break; } } } |
Author: | Clayton [ Sun Jun 10, 2007 10:22 am ] | ||
Post subject: | RE:Messed up output | ||
I imagine you'd want to actually output the element of the array you just figured out the average for...
|
Author: | Magic Man [ Sun Jun 10, 2007 10:58 am ] |
Post subject: | Re: Messed up output |
Still does not seem to work: Quote: case 4: int []overallavg = new int [10]; for (int i = 0; i<overallavg.length;i++){ overallavg [i] = ((Array [i][1]+ Array [i][2]+Array [i][3]+ Array [i][4])/4); Arrays.sort (overallavg); for ( int j = 0; i < 10; i++ ) { System.out.println(" " + overallavg[i]); } } break; |
Author: | Magic Man [ Sun Jun 10, 2007 11:36 am ] |
Post subject: | Re: Messed up output |
nevermind i got it. thanks to all |