ࡱ> JLGHI Ebjbj΀ H==jNN5\5\5\5\5\I\I\I\8\]I\j^^(A^A^A^___i Z5\_____5\5\A^A^ooo_t5\A^5\A^o_oo JA^ЇX7I\gX0 *em~eJe5\JDo___o_______e_________N Z: Chapter 11 Two-Dimensional Arrays This chapter introduces Java arrays with two subscripts for managing data logically stored in a table-like format(in rows and columns. This structure proves useful for storing and managing data in many applications, such as electronic spreadsheets, games, topographical maps, and student record books. 11.1 2-D Arrays Data that conveniently presents itself in tabular format can be represented using an array with two subscripts, known as a two-dimensional array. Two-dimensional arrays are constructed with two pairs of square brackets to indicate two subscripts representing the row and column of the element. General Form: A two-dimensional array consruction (all elements set to default values) type[][] array-name = new type [row-capacity][column-capacity]; type[][] array-name = { { element[0][0], element[0][1], element[0][2], } , { element[1][0], element[1][1], element[1][2], } , { element[2][0], element[2][1], element[2][2], } }; type may be one of the primitive types or the name of any Java class or interface identifier is the name of the two-dimensional array rows specifies the total number of rows columns specifies the total number of columns Examples: double[][] matrix = new double[4][8]; // Construct with integer expressions int rows = 5; int columns = 10; String[][] name = new String[rows][columns]; // You can use athis shortcut that initializes all elements int[][] t = { { 1, 2, 3 }, // First row of 3 integers { 4, 5, 6 }, // Row index 1 with 3 columns { 7, 8, 9 } }; // Row index 2 with 3 columns Referencing Individual Items with Two Subscripts A reference to an individual element of a two-dimensional array requires two subscripts. By convention, programmers use the first subscript for the rows, and the second for the columns. Each subscript must be bracketed individually. General Form: Accessing individual two-dimensional array elements two-dimensional-array-name[rows][columns] rows is an integer value in the range of 0 through the number of rows - 1 columns is an integer value in the range of 0 through the number of columns - 1 Examples: String[][] name = new String[5][10]; name[0][0] = "Upper Left"; name[4][9] = "Lower Right"; assertEquals("Upper Left", name[0][0]); // name.length is the number of rows, // name[0].length is the number of columns assertEquals("Lower Right", name[name.length-1][name[0].length-1]); Nested Looping with Two-Dimensional Arrays Nested looping is commonly used to process the elements of two-dimensional arrays. This initialization allocates enough memory to store 40 floating-point numbersa two-dimensional array with five rows and eight columns. Java initializes all values to 0.0 when constructed. int ROWS = 5; int COLUMNS = 8; double[][] table = new double[ROWS][COLUMNS]; // 40 elements set to 0.0 These nested for loops initialize all 40 elements to -1.0. // Initialize all elements to -1.0 for (int row = 0; row < ROWS; row++) { for (int col = 0; col < COLUMNS; col++) { table[row][col] = -1.0; } } Self-Check Use this construction of a 2-D array object to answer questions 1 through 8: int[][] a = new int[3][4]; 11-1 What is the value of a[1][2]? 11-2 Does Java check the range of the subscripts when referencing the elements of a? 11-3 How many ints are properly stored by a? 11-4 What is the row (first) subscript range for a? 11-5 What is the column (second) subscript range for a? 11-6 Write code to initialize all of the elements of a to 999. 11-7 Declare a two-dimensional array sales such that stores 120 doubles in 10 rows. 11-8 Declare a two-dimensional array named sales2 such that 120 floating-point numbers can be stored in 10 columns. A two-dimensional array manages tabular data that is typically processed by row, by column, or in totality. These forms of processing are examined in an example class that manages a grade book. The data could look like this with six quizzes for each of the nine students. Quiz #0 1 2 3 4 5 0 67.8 56.4 88.4 79.1 90.0 66.0 1 76.4 81.1 72.2 76.0 85.6 85.0 2 87.8 76.4 88.7 83.0 76.3 87.0 3 86.4 54.0 40.0 3.0 2.0 1.0 4 72.8 89.0 55.0 62.0 68.0 77.7 5 94.4 63.0 92.9 45.0 75.6 99.5 6 85.8 95.0 88.1 100.0 60.0 85.8 7 76.4 84.4 100.0 94.3 75.6 74.0 8 57.9 49.5 58.8 67.4 80.0 56.0 This data will be stored in a tabular form as a 2D array. The 2D array will be processed in three ways: Find the average quiz score for any of the 9 students Find the range of quiz scores for any of the 5 quizzes Find the overall average of all quiz scores Here are the methods that will be tested and implemented on the next few pages: // Return the number of students in the data (#rows) public int getNumberOfStudents() // Return the number of quizzes in the data (#columns) public int getNumberOfQuizzes() // Return the average quiz score for any student public double studentAverage(int row) // Return the range of any quiz public double quizRange(int column) // Return the average of all quizzes public double overallAverage() Reading Input from a Text File In programs that require little data, interactive input suffices. However, initialization of arrays quite often involves large amounts of data. The input would have to be typed in from the keyboard many times during implementation and testing. That much interactive input would be tedious and error-prone. So here we will be read the data from an external file instead. The first line in a valid input file specifies the number of rows and columns of the input file. Each remaining line represents the quiz scores of one student. 9 6 67.8 56.4 88.4 79.1 90.0 66.0 76.4 81.1 72.2 76.0 85.6 85.0 87.8 76.4 88.7 83.0 76.3 87.0 86.4 54.0 40.0 3.0 2.0 1.0 72.8 89.0 55.0 62.0 68.0 77.7 94.4 63.0 92.9 45.0 75.6 99.5 85.8 95.0 88.1 100.0 60.0 85.8 76.4 84.4 100.0 94.3 75.6 74.0 57.9 49.5 58.8 67.4 80.0 56.0 The first two methods to test will be the two getters that determine the dimensions of the data. The actual file used in the test has 3 students and 4 quizzes. The name of the file will be passed to the QuizData constructor. @Test public void testGetters() { /* Process this small file that has 3 students and 4 quizzes. 3 4 0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 95.5 50.5 */ QuizData quizzes = new QuizData("quiz3by4"); assertEquals(3, quizzes.getNumberOfStudents()); assertEquals(4, quizzes.getNumberOfQuizzes()); } The name of the file will be passed to the QuizData constructor that then reads this text data using the familiar Scanner class. However, this time a new File object will be needed. And this requires some understanding of exception handling. Exception Handling when a File is Not Found When programs run, errors occur. Perhaps an arithmetic expression results in division by zero, or an array subscript is out of bounds, or there is an attempt to read a file from a disk using a specific file name that does not exist. Or perhaps, the expression in an array subscript is negative or 1 greater than the capacity of that array. Programmers have at least two options for dealing with these types of exception: Ignore the exception and let the program terminate Handle the exception However, in order to read from an input file, you cannot ignore the exception. Java forces you to try to handle the exceptional event. Here is the code the tries to have a Scanner object read from an input file named quiz.data. Notice the argument is now a new File object. Scanner inFile = new Scanner(new File("quiz.data)); This will not compile. Since the file "quiz.data" may not be found at runtime, the code may throw a FileNotFoundException. In this type of exception (called a checked exception), Java requires that you put the construction in a try blockthe keyword try followed by the code wrapped in a block, { }. try { code that may throw an exception when an exception is thrown } catch (Exception anException) { code that executes only if an exception is thrown from code in the above try block. } Every try block must be followed by a at least one catch blockthe keyword catch followed by the anticipated exception as a parameter and code wrapped in a block. The catch block contains the code that executes when the code in the try block causes an exception to be thrown (or called a method that throws an exception). So to get a Scanner object to try to read from an input file, you need this code. Scanner inFile = null; try { inFile = new Scanner(new File(fileName)); } catch (FileNotFoundException fnfe) { System.out.println("The file '" + fileName + " was not found"); } This will go into the QuizData constructor that reads the first two integers as the number of rows followed by the number of columns as integers. The file it reads from is passed as a string to the constructor. This allows the programmer to process data stored in a file (assuming the data is properly formatted and has the correct amount of input. // A QuizData object will read data from an input file an allow access to // any students quiz average, the range of any quiz, and the average quiz import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class QuizData { // Instance variables private double[][] quiz; private int numberOfStudents; private int numberOfQuizzes; public QuizData(String fileName) { Scanner inFile = null; try { inFile = new Scanner(new File(fileName)); } catch (FileNotFoundException e) { System.out.println("The file '" + fileName + " was not found"); } // More to come ... } Because the private instance variables members are known throughout the QuizData class, the two-dimensional array named quiz can, from this point forward, communicate its subscript ranges for both rows and columns at any time and in any method. These values are stored // Get the dimensions of the array from the input file numberOfStudents = inFile.nextInt(); numberOfQuizzes = inFile.nextInt(); The next step is to allocate memory for the two-dimensional array: quiz = new double[numberOfStudents][numberOfQuizzes]; Now with a two-dimensional array precisely large enough to store numberOfStudents rows of data with numberOfQuizzes quiz scores in each row, the two-dimensional array gets initialized with the file data using nested for loops. // Initialize a numberOfStudents-by-numberOfQuizzes array for (int row = 0; row < getNumberOfStudents(); row++) { for (int col = 0; col < getNumberOfQuizzes(); col++) { quiz[row][col] = inFile.nextDouble(); } } } // End QuizData(String) constructor QuizData also has these getters now s the first test method has both assertions passing public int getNumberOfStudents() { return numberOfStudents; } public int getNumberOfQuizzes() { return numberOfQuizzes; } However, more tests are required to verify the 2D array is being initialized properly. One way to do this is to have a toString method so the array can be printed. Self-Check 11-9 Write method toString that will print the elements in any QuizData object to look like this: 0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 95.5 50.5 Student Statistics: Row by Row Processing To further verify the array was initialized, we can write a test to make sure all three students have the correct quiz average. @Test public void testStudentAverage() { /* Assume the text file "quiz3by4" has these four lines of input data: 3 4 0.0 10.0 20.0 30.0 40.0 50.0 60.0 70.0 80.0 90.0 95.5 50.5 */ QuizData quizzes = new QuizData("quiz3by4"); assertEquals(15.0, quizzes.studentAverage(0), 0.1); assertEquals(220.0 / 4, quizzes.studentAverage(1), 0.1); assertEquals((80.0+90.0+95.5+50.5) / 4, quizzes.studentAverage(2), 0.1); } The average for one student is found by adding all of the elements of one row and dividing by the number of quizzes. The solution uses the same row as col changes from 0 through 3. // Return the average quiz score for any student public double studentAverage(int row) { double sum = 0.0; for (int col = 0; col < getNumberOfQuizzes(); col++) { sum = sum + quiz[row][col]; } return sum / getNumberOfQuizzes(); } Quiz Statistics: Column by Column Processing To even further verify the array was initialized, we can write a test to ensure correct quiz ranges. @Test public void testQuizAverage() { // Assume the text file "quiz3by4" has these 4 lines // 3 4 // 0.0 10.0 20.0 30.0 // 40.0 50.0 60.0 70.0 // 80.0 90.0 95.5 50.5 QuizData quizzes = new QuizData("quiz3by4"); assertEquals(80.0, quizzes.quizRange(0), 0.1); assertEquals(80.0, quizzes.quizRange(1), 0.1); assertEquals(75.5, quizzes.quizRange(2), 0.1); assertEquals(40.0, quizzes.quizRange(3), 0.1); } The range for each quiz is found by first initializing the min and the max by the quiz score in the given column. The loop uses the same column as row changes from 1 through 3 (already checked row 0). Inside the loop, the current value is compared to both the min and the max to ensure the max min is the correct range. // Find the range for any given quiz public double quizRange(int column) { // Initialize min and max to the first quiz in the first row double min = quiz[0][column]; double max = quiz[0][column]; for (int row = 1; row < getNumberOfStudents(); row++) { double current = quiz[row][column]; if (current < min) min = current; if (current > max) max = current; } return max - min; } Overall Quiz Average: Processing All Rows and Columns The test for overall average shows that an expected value of 49.67. @Test public void testOverallAverage() { QuizData quizzes = new QuizData("quiz3by4"); assertEquals(49.7, quizzes.overallAverage(), 0.1); } Finding the overall average is a simple matter of summing every single element in the two-dimensional array and dividing by the total number of quizzes. public double overallAverage() { double sum = 0.0; for (int studentNum = 0; studentNum < getNumberOfStudents(); studentNum++) { for (int quizNum = 0; quizNum < getNumberOfQuizzes(); quizNum++) { sum += quiz[studentNum][quizNum]; } } return sum / (getNumberOfQuizzes() * getNumberOfStudents()); } Answers to Self-Checks 11-1 0.0 11-2 Yes 11-3 12 11-4 0 through 2 inclusive 11-5 0 through 3 inclusive 11-6 for (int row = 0; row < 3; row++) { for (int col = 0; col < 4; col++) { a [row][col] = 999; } } 11-7 double[][]sales = new double[10][12]; 11-8 double[][]sales2 = new double[12][10]; 11-9 public String toString() { String result = ""; for (int studentNum = 0; studentNum < getNumberOfStudents(); studentNum++){ for (int quizNum = 0; quizNum < getNumberOfQuizzes(); quizNum++) { result += " " + quiz[studentNum][quizNum]; } result += "\n"; } return result; }     PAGE 134  PAGE \* MERGEFORMAT 133 Chapter 11: Two-Dimensional Arrays    "#T U ]      " % ) - . 9 : ? o  1 8 C H  * Ƽό hCJhUhCJhUh5CJhUhCJhUh5CJOJQJhUh6CJ h6hAh jhm{Sh hm{Shhj&\h,hCJ@ hCJ0h,hCJ04 "#T U h % s 8 C  * + Q R *$1$7$8$H$gd_ & F- 7$gdK^@^^xgdAgdSgd ^$dN* + 1 ? B C I P R x { 9:WuպպպպպպպpU5hm{Shj&\B* CJOJQJ^J_H aJnH phtH /hB* CJOJQJ^J_H aJnH phtH 5hm{ShB* CJOJQJ^J_H aJnH phtH ,hUhCJOJQJ^J_H aJnH tH 5hUhB*CJOJQJ^J_H aJnH phtH ;hUh5B* CJOJQJ\^J_H aJnH phUtH hUhCJOJQJR x :u 7=>&dP^ & F. h7$gdI^@^gd[gd1$7$8$H$_ *$1$7$8$H$gd '(,.57;.;<=?KLXfhjĦďtďtďVtď;hUh6B*CJOJQJ]^J_H aJnH phtH 5hUhB*CJOJQJ^J_H aJnH ph*tH ,hUhCJOJQJ^J_H aJnH tH ;hUh5B* CJOJQJ\^J_H aJnH phUtH 5hUhB*CJOJQJ^J_H aJnH phtH hUh5CJOJQJhUh6CJ h6h=gh0ABRe:h_bPgdxxgdWSgd[gd *$1$7$8$H$gdjͲͲy^^F/,hUhtUCJOJQJ^J_H aJnH tH /hB*CJOJQJ^J_H aJnH phtH 5hUhB* CJOJQJ^J_H aJnH phtH 5hUhB*CJOJQJ^J_H aJnH ph*tH ;hUh6B*CJOJQJ]^J_H aJnH phtH 5hUhB*CJOJQJ^J_H aJnH phtH ,hUhCJOJQJ^J_H aJnH tH 5hUhB*CJOJQJ^J_H aJnH ph?_tH ABGQRTWdegmz}~9:;>ACFghiպպպպպ~~fպպfպպf/hB*CJOJQJ^J_H aJnH phtH hCJOJQJ5hm{ShB* CJOJQJ^J_H aJnH phtH ,hUhCJOJQJ^J_H aJnH tH 5hUhB*CJOJQJ^J_H aJnH phtH ;hUh5B* CJOJQJ\^J_H aJnH phUtH hUhCJh(")}~NO} "ѶѶџwj`V`VVVV``Rhj&\hCJOJQJhCJOJQJhohCJOJQJhohCJh4hUh6B*CJOJQJ^J_H nH phtH ,hUhj&\CJOJQJ^J_H aJnH tH 5hUhB*CJOJQJ^J_H aJnH phtH /hB*CJOJQJ^J_H aJnH phtH ,hUhCJOJQJ^J_H aJnH tH +X !"23g7k;Sxxgd_gdAgd0(^`0gd(gdW"(1>?#$&,-0EGIĩz^z^zIĩz^z^zI(hchCJOJQJ^JaJnH tH 7hch5B* CJOJQJ\^JaJnH phUtH 1hchB*CJOJQJ^JaJnH phtH +hm{Sh5CJOJQJ^JaJnH tH 4hm{Sh5B*CJOJQJ^JaJnH ph?_tH 4hm{Sh5B*CJOJQJ^JaJnH phtH hchCJaJhchCJ aJ h hVJh>?$FGz456Uxgdgd *$7$8$H$gdgdSgdAgd & F0*$gdIyz|϶oT϶IT϶hchCJaJ4hm{Sh5B*CJOJQJ^JaJnH phtH +hch5CJOJQJ^JaJnH tH (hchCJOJQJ^JaJnH tH 7hch5B* CJOJQJ\^JaJnH phUtH 1hchB*CJOJQJ^JaJnH phtH +hm{Sh5CJOJQJ^JaJnH tH 4hm{Sh5B*CJOJQJ^JaJnH ph?_tH "3456Uhi !!!!!!洟wogVgNg8+hAB*CJOJQJ^JaJnH phdddtH hj&\nH tH  hR)hCJOJQJnH tH hnH tH hAnH tH hm{ShCJhchCJ aJ hm{ShCJ hm{Shh(hchACJOJQJ^JaJnH tH +hB*CJOJQJ^JaJnH phtH 7hch5B* CJOJQJ\^JaJnH phUtH 1hchB*CJOJQJ^JaJnH phtH hip = f !!!!."7"O"h" *$7$8$H$gdSgd._@ $d!%d$&d!'d$N!O$P!Q$]@ ^gd_S!!!!!!!!!""""""зmT;T1hhB* CJOJQJ^JaJnH phtH 1hhB* CJOJQJ^JaJnH phtH (hhCJOJQJ^JaJnH tH 1hhB*CJOJQJ^JaJnH phtH 7hh5B* CJOJQJ\^JaJnH phUtH 1hA5B* CJOJQJ\^JaJnH phUtH +hAB*CJOJQJ^JaJnH phdddtH 1hhB*CJOJQJ^JaJnH phdddtH h"""" #$#%#$C$%%&2&E'F'|'~'((((_gdAgdS & F/ d1$7$gd S$ & F/ d1$7$a$gdWgd[gdSgd *$7$8$H$gd""""""""""# ###$#%#P#X#o#0&1&E'͸͜͸͜͸xmeTePLPh h hR)hCJOJQJnH tH hnH tH hhOJQJhhCJOJQJaJ)hhB*CJOJQJ^JaJph7hh6B*CJOJQJ]^JaJnH phtH (hhCJOJQJ^JaJnH tH 1hhB*CJOJQJ^JaJnH phtH 1hhB*CJOJQJ^JaJnH ph*tH E'F'H'Y'\'e'h'{'|'}'~'''b(e(x({((((((Խzviv\vPvPvPvhCJOJQJaJhPFhCJOJQJhg.hCJOJQJh hPFhhm{ShCJOJQJ^J$hm{ShCJOJQJ^JnH tH 3hm{Sh5B* CJOJQJ\^JnH phUtH -hm{ShB*CJOJQJ^JnH phtH 'hB*CJOJQJ^JnH phtH -hm{ShB*CJ OJQJ^JnH phtH (((((()i)j)s)v)))))**U*X*+++++!+$+&+'+6+9+B+E+V+W+\+]+a+f++++ݽݰݰݰݰݗ{f{f{{ff{f(hohCJOJQJ^JaJnH tH 7hoh5B* CJOJQJ\^JaJnH phUtH 1hohB*CJOJQJ^JaJnH phtH h qhCJOJQJhCJOJQJaJ h6]h6CJOJQJ]h;hm{Sh5B* CJOJPJQJ\^JaJnH phUtH ((()j)l)m)++'+W+]+++++0-1-|---...4.L.g.SW *$7$8$H$gdSxgdSgdWgd_gd++++++++++++0-1---ʱʱʜʜrYD(hm{ShCJOJQJ^JaJnH tH 1hm{ShB*CJOJQJ^JaJnH ph?_tH 1h5B* CJ OJQJ\^JaJ nH phUtH hohCJOJQJh(hohCJOJQJ^JaJnH tH 1hohB*CJOJQJ^JaJnH ph*tH 1hohB*CJOJQJ^JaJnH phtH 7hoh6B* CJOJQJ]^JaJnH phtH -----.....".#.(.3.4.6.K.L.N.U.V.\.a.e.f.g.i.p.q.t.u....ʵʵʵʵnUʵUʵ1h]xhB* CJOJQJ^JaJnH phtH (hm{ShCJOJQJ^JaJnH tH 1hm{ShB*CJOJQJ^JaJnH ph?_tH 1hm{ShB*CJOJQJ^JaJnH phtH (h]xhCJOJQJ^JaJnH tH 1h]xhB*CJOJQJ^JaJnH phtH 7h]xh5B* CJOJQJ\^JaJnH phUtH !g.......!/'/M///////001+1R1S11122x*$7$8$H$gdSSgd *$7$8$H$gd.....................// // /!/&/'/+/0/L/M/Z/]/f/r/////gg1h]xhB*CJOJQJ^JaJnH ph*tH 7h]xh6B* CJOJQJ]^JaJnH phtH (h]xhCJOJQJ^JaJnH tH 1h]xhB* CJOJQJ^JaJnH phtH 7h]xh5B* CJOJQJ\^JaJnH phUtH 1h]xhB*CJOJQJ^JaJnH phtH (////////0 0206000111*1Ѻє{bI0I1hWhB* CJOJQJ^JaJnH phtH 1hWhB*CJOJQJ^JaJnH phtH 1hm{ShB* CJOJQJ^JaJnH phtH hohCJhCJOJQJaJhhohCJ^JnH tH -hm{ShB*CJOJQJ^JnH ph?_tH -hm{ShB*CJOJQJ^JnH phtH (h]xhCJOJQJ^JaJnH tH 1h]xhB*CJOJQJ^JaJnH phtH *1+1.1=1Q1R1S111111111111112"252D2222ҹ밬jPPjjDDDhCJOJQJaJ3hm{Sh5B* CJOJQJ\^JnH phUtH -hm{ShB* CJOJQJ^JnH phtH -hm{ShB*CJOJQJ^JnH phtH 'hB*CJOJQJ^JnH phtH hhohCJ1hWhB* CJOJQJ^JaJnH phtH 1hWhB*CJOJQJ^JaJnH phtH (hWhCJOJQJ^JaJnH tH 2222222-3.3336383;3i3j3q3u33333333333%4&4Ͷr͉eaJ-h5B* CJOJQJ\^JnH phUtH hhohCJOJQJ-hm{ShB* CJOJQJ^JnH phtH $hm{ShCJOJQJ^JnH tH 3hm{Sh5B* CJOJQJ\^JnH phUtH -hm{ShB*CJOJQJ^JnH phtH 1hm{ShB* CJOJQJ^JaJnH phtH 1hkhB*CJ OJQJ^JaJ nH phtH 22.3j3333333%4&4K4h4l4m44444Y5d55555gd A0^`0gdbgdSgd *$7$8$H$gd&4.4/424J4K4O4U4V4f4g4h4k4m4o4u4v4y444444444*525Y5d5h5o5u5v5λΤλλλΤΐsoe\V\ haJh5haJhm{Sh\aJh)h hB*CJOJQJnH phtH hnH tH 'hB*CJOJQJ^JnH phtH -hm{ShB* CJOJQJ^JnH phtH $hm{ShCJOJQJ^JnH tH -hm{ShB*CJOJQJ^JnH phtH 3hm{Sh5B* CJOJQJ\^JnH phUtH !v5~555555 666666666666ƹƵ{fM1M1Mf7h4{h5B* CJOJQJ\^JaJnH phUtH 1h4{hB*CJOJQJ^JaJnH phtH (h4{hCJOJQJ^JaJnH tH 1h4{hB*CJOJQJ^JaJnH phdddtH +hB*CJOJQJ^JaJnH phdddtH h4{hCJaJhhm{ShCJOJQJ hm{ShCJOJQJnH tH h hCJ OJQJaJ haJh5haJh hOJQJ5 6 6466666.797S7n777768888=9>9q9999:P*$7$8$H$]Pgd *$7$8$H$gdSgd[gd6777777777777 85868:8F8|8}888889ͱ̓͘g̓g̓gQ̓QMh+hB*CJOJQJ^JaJnH phtH 7h4{h6B*CJOJQJ]^JaJnH phtH (h4{hCJOJQJ^JaJnH tH 1h4{hB*CJOJQJ^JaJnH ph*tH 7h4{h5B* CJOJQJ\^JaJnH phUtH 1h4{hB*CJOJQJ^JaJnH phtH 1hm{ShB* CJOJQJ^JaJnH phtH 9"9=9>9q9s9y9z99999999999999999: ::::::::;:>:?:::ͶrghkhCJ aJ -hm{ShB* CJOJQJ^JnH phtH $hm{ShCJOJQJ^JnH tH 3hm{Sh5B* CJOJQJ\^JnH phUtH -hm{ShB*CJOJQJ^JnH phtH 1hm{ShB* CJOJQJ^JaJnH phtH hm{ShCJhhLhCJOJQJ$::;:?:l:::3;>;X;s;;;%<X<<<===!>b>>>> ?%?Sgd[gdgd *$7$8$H$gd:::::::::;;;;;;;;;лmW>1hLhB*CJOJQJ^JaJnH ph*tH +hB*CJOJQJ^JaJnH phtH 1hm{ShB* CJOJQJ^JaJnH phtH 7hLh5B* CJOJQJ\^JaJnH phUtH 1hLhB*CJOJQJ^JaJnH phtH (hLhCJOJQJ^JaJnH tH 1hLhB*CJOJQJ^JaJnH phdddtH +hB*CJOJQJ^JaJnH phdddtH ;;;;;<$<%<)<5<W<X<\<h<<<<"=%=====>>>>> >ʵʵʵʵʱfJfJfJf7h h5B* CJOJQJ\^JaJnH phUtH 1h hB*CJOJQJ^JaJnH phtH 1hm{ShB* CJOJQJ^JaJnH phtH h hCJOJQJaJhCJOJQJh(hLhCJOJQJ^JaJnH tH 1hLhB*CJOJQJ^JaJnH phtH 7hLh6B*CJOJQJ]^JaJnH phtH  >!>b>f>l>s>w>>>>>>>>>>>>>>>>>>> ? ???$?%?;?ADAEAKA^A_AcAiAtAuAyA|A~AAAAAлЬvZvZvEvZvEvZvZvEv(h#mMhCJOJQJ^JaJnH tH 7h#mMh5B* CJOJQJ\^JaJnH phUtH 1h#mMhB*CJOJQJ^JaJnH phtH 1hkhB*CJ OJQJ^JaJ nH phtH hhMhCJOJQJaJ(hMhCJOJQJ^JaJnH tH 1hMhB*CJOJQJ^JaJnH phtH +hB*CJOJQJ^JaJnH phtH AAAABBB"B8B9B@BABFBGBKBQBBBBBBBBBBBBCʵʜʵʵʵʵʆ{wnwnwR7h~Oah5B* CJOJQJ\^JaJnH phUtH hm{ShCJh h~Oahh +hB*CJOJQJ^JaJnH phtH 1h#mMhB* CJOJQJ^JaJnH phtH (h#mMhCJOJQJ^JaJnH tH 1h#mMhB*CJOJQJ^JaJnH phtH 7h#mMh5B* CJOJQJ\^JaJnH phUtH BBBBBBBBBBBB!CNCmCxCCCCCx*$7$8$H$]gd0<^`0gd $<a$gd $*$7$8$H$a$gd<gdWgd]gdCCCC CCCCCCC C!C'C*C-C/C2C3C6CE@EAECEDEFEGEIEJEPEQETEUEVE]E^E_E`EwExEҼҠҜ~s~l_WSWhS*jhS*Uh\hOJQJ^J h\hS*h 0J9mHnHuhj&\h0J9jhj&\h0J9UjhUh7h'h5B* CJOJQJ\^JaJnH phUtH +hB*CJOJQJ^JaJnH phtH 1h'hB*CJOJQJ^JaJnH phtH (h'hCJOJQJ^JaJnH tH xE{E|E}E~EEEE hJhJCJOJQJ^JaJhhJhS*jhS*Uh mHnHu~EEEEEEEEE]gda$a$gdJ ahh]h`hgdF 00P&P1F:p d/ =!"#$% Dp^ 666666666vvvvvvvvv66666686666666666666666666666666666666666666666666666666hH6666666666666666666666666666666666666666666666666666666666666666662 0@P`p2( 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p8XV~_HmH nH sH tH D`D oNormal*$CJ_HaJmH sH tHFF o Heading 1  & F@&5CJ \aJ ZZ o Heading 2$ & F<@&56CJOJQJaJDD o Heading 4$ & F *$@&5\HH o Heading 6$ & F *$@& 5CJ\DA`D Default Paragraph FontRiR  Table Normal4 l4a (k (No List NN oHeading $xCJOJPJQJ^JaJ:B@: o Body Text  hCJ2/2 o WW8Num1z0OJQJ2/!2 o WW8Num1z1OJQJ2/12 o WW8Num1z2OJQJ2/A2 o WW8Num2z0OJQJ2/Q2 o WW8Num2z1OJQJ2/a2 o WW8Num2z2OJQJ2/q2 o WW8Num3z1OJQJ2/2 o WW8Num5z0OJQJ2/2 o WW8Num5z1OJQJ2/2 o WW8Num5z2OJQJ2/2 o WW8Num6z0OJQJ2/2 o WW8Num6z1OJQJ2/2 o WW8Num6z2OJQJ2/2 o WW8Num7z0OJQJ2/2 o WW8Num7z1OJQJ2/2 o WW8Num7z2OJQJ2/2 o WW8Num9z0OJQJ2/!2 o WW8Num9z1OJQJ2/12 o WW8Num9z2OJQJ4/A4 o WW8Num10z0OJQJ4/Q4 o WW8Num10z1OJQJ4/a4 o WW8Num10z2OJQJ4/q4 o WW8Num11z0OJQJ4/4 o WW8Num11z1OJQJ4/4 o WW8Num11z2OJQJ4/4 o WW8Num12z0OJQJ4/4 o WW8Num12z1OJQJ4/4 o WW8Num12z2OJQJ4/4 o WW8Num13z0OJQJ4/4 o WW8Num13z1OJQJ4/4 o WW8Num13z2OJQJ4/4 o WW8Num14z0OJQJ4/4 o WW8Num14z1OJQJ4/!4 o WW8Num14z2OJQJ4/14 o WW8Num15z0OJQJ4/A4 o WW8Num15z1OJQJ4/Q4 o WW8Num15z2OJQJ4/a4 o WW8Num16z0OJQJ4/q4 o WW8Num16z1OJQJ4/4 o WW8Num16z2OJQJ.)@. o Page Number(/( oList:^J@"@ oCaption ; $xx 6]^J.. oIndex< $^Jv/v o Open bullet1= d*$1$7$]^`PJ_HmH sH tHo oTab/fig head2,line1,no italicE>$ Ld+&d*$1$7$P]^5PJ\_HmH sH tHPP oDialogue/Output head? dHo oTab/fig head,lineE@$ Ld+&d*$1$7$P]^ 56PJ\]_HmH sH tHjoj oBody no indentAd*$1$7$!B*CJPJ_HmH phsH tH>> oTermBL^`L B*php/2p oFigure-C *$1$7$]^OJPJQJ_HmH sH tHx/Bx o Open head#D$ d *$1$7$(CJOJPJQJ^J_HaJmH sH tH`/R` o Open bodyE d*$1$7$PJ_HmH sH tH|/b| o Self text;F 8"8dH*$1$7$]^8`PJ_HmH sH tH\ab\ oAnswers,G >d]^`>CJaJJqrJ o Answers codeHdCJOJQJaJnon o Table end-I Lde*$1$7$]^PJ_HmH sH tHnn oAnswers table end)J $ Y>d^`>CJaJlol o Table text)K Ld*$1$7$]^PJ_HmH sH tHpp oAnswers table text)L $ Y>d^`>CJaJ/ o Table headingEM$ LdH&d*$1$7$P]^5PJ\_HmH sH tHzz oAnswers table heading-N $ Y=d^`=CJaJFF o Sub table endO  ^@@ oSub table text P^FF oSub table heading Q^/" oExercise numlist8R WWdH*$1$7$]^W`PJ_HmH sH tH@O@ o Body text S h B*phF12F oNumlistT WW^W`NARN o Sub numlistU >^`>8ab8 oSelf endV hrorr oSpacer'W dx*$1$7$^$CJ OJPJQJ_HaJ mH sH tH>12> oQuoteX]^h/h oAside*Y$$ 0 dl*$1$7$a$6PJ]_HmH sH tHl/l oBullet1Z d*$1$7$]^`PJ_HmH sH tHpop oB head![$ x*$1$7$(CJOJPJQJ^J_HaJmH sH tHh/h oSelf&\$$ $d0*$1$7$a$ OJPJQJ^J_HmH sH tH/ o Tab/fig head14]$ Ld+*$1$7$]^ 56PJ\]_HmH sH tHo oA headA^$ Fd$d*$1$7$N^`F(CJ$OJPJQJ^J_HaJ$mH sH tHvov oCode/_ 8d*$1$7$]^$CJOJPJQJ_HaJmH sH tH4@4 o0Header ` !4 @4 o0Footer a !ZO"Z oSelf Check Headb$ $dNa$6j2j o self-textb3c s%((1$]s^`%CJaJ<B< oTable Contentsd $BARB o Table Headinge$a$5\8b8 oFrame contentsfVqV oHeading 1 Char"5CJ OJPJQJ\^JaJ tHFF oHeading 4 Char5CJ\aJtHFF oHeading 6 Char5CJ\aJtH>/> o WW8Num3z0CJOJ PJQJ ^J2/2 o WW8Num4z0OJQJ2/2 o WW8Num7z3OJQJ2/2 o WW8Num8z0OJQJ4/4 o WW8Num14z3OJQJ4/4 o WW8Num16z3OJQJ@/@ o WW8Num17z0CJOJ PJQJ ^J8/8 o WW8Num17z1 OJQJ^J4/!4 o WW8Num17z2OJQJ4/14 o WW8Num17z3OJQJ8/A8 o WW8Num18z0 CJOJQJ8/Q8 o WW8Num18z1 CJOJQJ8/a8 o WW8Num18z2 CJOJQJ@/q@ o WW8Num20z0CJOJ PJQJ ^J8/8 o WW8Num20z1 OJQJ^J4/4 o WW8Num20z2OJQJ4/4 o WW8Num20z3OJQJ8/8 o WW8Num21z0 CJOJQJ8/8 o WW8Num21z1 CJOJQJ8/8 o WW8Num21z2 CJOJQJ</< o WW8Num22z0CJOJ QJ ^J8/8 o WW8Num22z1 OJQJ^J4/4 o WW8Num22z2OJQJ4/4 o WW8Num22z3OJQJ4/!4 o WW8Num23z0OJQJ8/18 o WW8Num23z1 OJQJ^J4/A4 o WW8Num23z2OJQJJ/QJ oWW-Default Paragraph Font4/a4 o WW8Num25z0OJQJ4/q4 o WW8Num25z1OJQJ4/4 o WW8Num25z3OJQJL/L oWW-Default Paragraph Font1J/J oAbsatz-Standardschriftart2/2 o WW8Num2z3OJQJ2/2 o WW8Num3z2OJQJ2/2 o WW8Num3z3OJQJ6/6 o WW8Num4z1 OJQJ^J2/2 o WW8Num4z2OJQJ2/ 2 o WW8Num5z3OJQJ2/ 2 o WW8Num6z3OJQJ6/! 6 o WW8Num8z1 OJQJ^J2/1 2 o WW8Num8z2OJQJ4/A 4 o WW8Num11z3OJQJ4/Q 4 o WW8Num12z3OJQJ4/a 4 o WW8Num15z3OJQJN/q N oWW-Default Paragraph Font11Pr P oBody Text CharCJ_HaJmH sH tHuZr Z oBody no indent CharB*_HmH phsH tHu8 8 oBody text CharCJj j o#Style Body text + Courier 9 pt Char CJOJQJXr X oCode Char Char#CJOJQJ_HaJmH sH tHuPr P o Code Char1#CJOJQJ_HaJmH sH tHu:/ : oNumbering SymbolsN N o Code Char#CJOJQJ_HaJmH sH tHu\ \ oSpacer Char Char#CJ OJQJ_HaJ mH sH tHuB' B oComment ReferenceCJaJTT oTable code lastdCJOJPJQJaJJJ o Table codedCJOJPJQJaJv!"v o Exercise abc; h Ld]^`LCJPJpp oDialogue/Output head wide  dx]PJd/b d oSelf abc) ed*$1$7$]^e_HmH sH tHf/r f oTip text, eWd*$1$7$]^W_HmH sH tHDD oSub codeW]^WCJPJT!"T oTip% hd]5CJPJ\x/ x o Spacer Char' dx*$1$7$^ CJ OJQJ_HaJ mH sH tHFF o Code wide]^CJPJ o5Style A head + Top: (No border) Between : (No border)d$dN PJ^JaJ|1 | oStyle Body text + Courier 9 pt dCJOJPJQJD D o Header left $ !CJFO F oSelf d$dNPJb b o!Style Body Text + First line: 0"aJ2 2 o B headSpaPJ@^" @ o Normal (Web) d*$CJ:2 : owestern d*$CJaJ2B 2 ocjk d*$CJaJbR b oStyle First line: 0.5" h`CJaJ>> o Self code 8*$^8PJ,r , oC headPJ o5Style A head + Left: 0" Hanging: 0.84" After: 6 ptdx$dN PJ^JaJd d o"Style Body Text + First line: 0"1aJHT H o Block Textx]^CJ< < o Comment TextCJaJ> > oComment Text ChartH4/ 4 o WW8Num21z3OJQJ0/ 0 o WW8Num19z054/ 4 o WW8Num24z0OJQJ4/ 4 o WW8Num24z1OJQJ4/ 4 o WW8Num24z2OJQJ4/! 4 o WW8Num25z2OJQJ4/1 4 o WW8Num26z0OJQJ8/A 8 o WW8Num26z1 OJQJ^J4/Q 4 o WW8Num26z3OJQJ0/a 0 o WW8Num27z05@/q @ o WW8Num29z0CJOJ PJQJ ^J4/ 4 o WW8Num29z1OJQJ4/ 4 o WW8Num29z2OJQJ4/ 4 o WW8Num29z3OJQJ0/ 0 o WW8Num30z054/ 4 o WW8Num31z0OJQJ4/ 4 o WW8Num31z1OJQJ4/ 4 o WW8Num31z2OJQJ0/ 0 o WW8Num33z05b b oCode Char Char Char#CJOJQJ_HaJmH sH tHuH H oSelf text Char_HmH sH tHuT ! T oStyle Self text + 11 pt CharCJBb1 B o HTML CodeCJOJPJQJ^JaJ6UA 6 o Hyperlink >*B*phdQ d oCode Char Char1 Char#CJOJQJ_HaJmH sH tHuPa P o Code Char2#CJOJQJ_HaJmH sH tHu@b q @ oCode Char Char2 Char6R 6 ot_nihongo_kanji6R 6 ot_nihongo_comma8R 8 ot_nihongo_romaji4R 4 ot_nihongo_help4R 4 ot_nihongo_iconFVR F oFollowedHyperlink >*B* phx/ x oCode Char Char1 8d*$1$7$ CJOJQJ_HaJmH sH tHza z o$Style Self text + 11 pt After: 0 ptd<CJPJ`a` oStyle Self text + 11 ptd<<CJPJ66 oheaderb *$X"X oCode Char Char2d]^CJPJ@j @ oComment Subject5\F AF oComment Subject Char5\HRH o Balloon TextCJOJQJ^JaJRaR oBalloon Text CharCJOJQJ^JaJtHJrJ oBody ]^CJPJdd o Bodt Text ]^6B*CJPJ]ph^^ o Body Test WW]W^WB*CJPJph2A2 o Text BodyCJxx oStyle A head + Courier Bolddx$dN 5PJ\^^ o Body Yext ]^B*CJPJph:: o0 Header Char CJaJtH:: o0 Footer Char CJaJtH,, ocode FF oSpanner*$8$H$gd PJaJtH / o Code white* 8d1$7$8$H$^)B*CJOJQJ_HaJmH phsH tH bO"b o Bodt text d*$8$H$B*CJPJphtH PqrP o Answers abc 8"*$8$H$PJtH 6QR6 oTip code B*phZZ o Exercise codeW*$8$H$^WB*PJphtH ,Xa, oEmphasis64/q4 o WW8Num54z0OJQJTT ocode Char CharCJOJQJ_HmH sH tHu~/~ oCode Char1 Char* h8p@ 0*$]0CJOJQJ_HmH sH tHTOT oBody w/o indent$ ha$CJaJ~~ oSpoacer@ & 0` P@*$1$7$8$H$gd]B*CJaJphtH dd oSacer% d*$8$H$gd$B*CJ PJaJ phtH V/V o Chapter StartCJ(OJ QJ _HmH sH tH LL oDialogue0x<*$^0 6aJtH r/r oBhead1$ 8dh<1$G$^8`CJOJ QJ _HmH sH tH b/b obodytext$$ hpd1$G$]pa$CJ_HmH sH tH v/v oAhead+$ UP1$G$^`U%B*CJ$OJ QJ _HmH phsH tH " o self-headR$ $Hdh$d&dNP^H`a$6B*CJOJQJphv/2v obox-head;$$ H dF&d1$Pa$_HmH sH tH z/Bz o self-text5 sPdF1$]s^`PCJ_HaJmH sH tH :R: o Self Checkgdm{SaJ$.O b. oA-Headgdm{S0r0 oArialgdm{SCJPK![Content_Types].xmlj0Eжr(΢Iw},-j4 wP-t#bΙ{UTU^hd}㨫)*1P' ^W0)T9<l#$yi};~@(Hu* Dנz/0ǰ $ X3aZ,D0j~3߶b~i>3\`?/[G\!-Rk.sԻ..a濭?PK!֧6 _rels/.relsj0 }Q%v/C/}(h"O = C?hv=Ʌ%[xp{۵_Pѣ<1H0ORBdJE4b$q_6LR7`0̞O,En7Lib/SeеPK!kytheme/theme/themeManager.xml M @}w7c(EbˮCAǠҟ7՛K Y, e.|,H,lxɴIsQ}#Ր ֵ+!,^$j=GW)E+& 8PK!Ptheme/theme/theme1.xmlYOo6w toc'vuر-MniP@I}úama[إ4:lЯGRX^6؊>$ !)O^rC$y@/yH*񄴽)޵߻UDb`}"qۋJחX^)I`nEp)liV[]1M<OP6r=zgbIguSebORD۫qu gZo~ٺlAplxpT0+[}`jzAV2Fi@qv֬5\|ʜ̭NleXdsjcs7f W+Ն7`g ȘJj|h(KD- dXiJ؇(x$( :;˹! I_TS 1?E??ZBΪmU/?~xY'y5g&΋/ɋ>GMGeD3Vq%'#q$8K)fw9:ĵ x}rxwr:\TZaG*y8IjbRc|XŻǿI u3KGnD1NIBs RuK>V.EL+M2#'fi ~V vl{u8zH *:(W☕ ~JTe\O*tHGHY}KNP*ݾ˦TѼ9/#A7qZ$*c?qUnwN%Oi4 =3ڗP 1Pm \\9Mؓ2aD];Yt\[x]}Wr|]g- eW )6-rCSj id DЇAΜIqbJ#x꺃 6k#ASh&ʌt(Q%p%m&]caSl=X\P1Mh9MVdDAaVB[݈fJíP|8 քAV^f Hn- "d>znNJ ة>b&2vKyϼD:,AGm\nziÙ.uχYC6OMf3or$5NHT[XF64T,ќM0E)`#5XY`פ;%1U٥m;R>QD DcpU'&LE/pm%]8firS4d 7y\`JnίI R3U~7+׸#m qBiDi*L69mY&iHE=(K&N!V.KeLDĕ{D vEꦚdeNƟe(MN9ߜR6&3(a/DUz<{ˊYȳV)9Z[4^n5!J?Q3eBoCM m<.vpIYfZY_p[=al-Y}Nc͙ŋ4vfavl'SA8|*u{-ߟ0%M07%<ҍPK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-![Content_Types].xmlPK-!֧6 +_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!Ptheme/theme/theme1.xmlPK-! ѐ' theme/theme/_rels/themeManager.xml.relsPK] = "BDiiil* j"I!"E'(+-./*12&4v569:; >@v@ACCCExEE#%')*+-/0245689;<=>@ACDFGHJKLNOPRSR =h"(g.25:%?BC~EE$&(,.137:?BEIMQT ":>l!!8@0(  B S  ?x{? K m x D G T W   C F G J P S _ b y | -01C#1PX PVox!!##-#3#K#S#h#}#~########6%>%%%%%&&)&1&q&t&u&&&&&&&&&&&&&&''2'G'S'e'u'}'( ()))').)=)@)N)))))*!*5*D*******+!+8+;+<+?+E+H+K+]+a+d+{+~+++++++/,2,3,F,V,f,v,y,z,,,,*-2-v-~---..///////// 00+0:0F0b0x01"1111111111111112 2%272223333333334 44)454<4M4\4h4o44 666666668/888@8O8W8i8u8|88L9Z9~999999999999999999: :#:-:/:6:Y:k:p::::;;/;2;3;6;<;?;E;H;a;d;;;#<&<'<1<7<A<D<W<[<e<y<|<}<<<<<<<<<<<<====?=?=@=@=B=C=E=F=H=I=== +2x{HK#( ! & ? L D G T W g n   > A n t " $ NRe&,|u!)]e !!!!!#$#-#3#a#f###%%%%&&&"&N&U&i&p&&&&&&&&&+'0'S'f''')).)=)))**3+6+q+v+++(,.,O,U,o,u,,,....///// 0:0G0s1y11111112222333334)464\4i456f6l666666677-707B7D7]7`7v7|77888O8X8i8v8>9D9c9i9y9|999::K:Q:*;-;Y;Z;;;;;;;<!<t<w<<<= =&=,=====?=?=@=@=B=C=E=F=H=I===333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333"#U]  "3401%,%,Y-Y-..44::::<=====?=?=@=@=B=C=E=F=H=I=U=V=V=]=]=^=^=_=|=}====. RE4x5 ^:4jUw1OAXCVI f[|% ^}UjȖyjxHx<7%!V)fX.)4*d6+{,fm}[2:f>35Df7J/0>λ: <>$wB,.?5I(i xK LM vMN£\UNTnZ,U=VnWxyVf1zZn+c~ dvPg j}qjccek xg ^`OJQJo( ^`hH*^`OJQJ^`.^`OJQJ^`.^`OJQJhh^h`OJQJ^`OJQJ^`^`^`^`^`^`^`^`^`hhh^h`OJQJo(hHh88^8`OJQJo(hHoh^`OJQJo(hHh  ^ `OJQJo(hHh  ^ `OJQJo(hHohxx^x`OJQJo(hHhHH^H`OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHoh  ^ `OJQJo(hHh` ` ^` `OJQJo(hHh00^0`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh88^8`OJQJo(hHh^`OJQJo(hHoh  ^ `OJQJo(hHh  ^ `OJQJo(hHhxx^x`OJQJo(hHohHH^H`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh88^8`OJQJo(hHh^`OJQJo(hHoh  ^ `OJQJo(hHh  ^ `OJQJo(hHhxx^x`OJQJo(hHohHH^H`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh ^`o(hH.h^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHhXX^X`OJQJo(hHoh((^(`OJQJo(hHh  ^ `OJQJo(hHh  ^ `OJQJo(hHoh^`OJQJo(hHhhh^h`OJQJo(hHh88^8`OJQJo(hHoh^`OJQJo(hHh ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hH@h h^h`hH.^`o(. ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH.h^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHoh  ^ `OJQJo(hHh` ` ^` `OJQJo(hHh00^0`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hHh  ^ `OJQJo(hHh  ^ `OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh``^``OJQJo(hHoh00^0`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohpp^p`OJQJo(hHh@ @ ^@ `OJQJo(hHh^`OJQJo(hHoh^`OJQJo(hHh^`OJQJo(hHh^`OJQJo(hHohPP^P`OJQJo(hH@h h^h`hH.^`o(. ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH.0V)5 5}U0>f7?5I~ d}[26+|% wBLMx{,.)n+c7%!yjT<>PgOA\UNCVI f1zZvM,UHqjxK xKlcek%cek@E4VnW>3jU`@hh^h`OJQJo(hHP(`@h h^h`hH.P`@h h^h`hH..WW8Num2WW8Num4WW8Num7WW8Num8WW8Num9WW8Num12WW8Num15.                                                                                                                                                                                                      4                                                                                                  4          tU\j&\7v d JS*A==?=@=@Unknown G* Times New Roman5Symbol3. * Arial71 Courier?= * Courier NewgNew BaskervilleTimes New RomanG5  hMS Mincho-3 fg5. *aTahoma;Wingdings9 WebdingsS&Albertus MediumArialI.  HaettenschweilerA BCambria Math!1hODVDOD # 4o# 4o!x4==. 2QPLX2! xx Chapter 10Mac Usermercer.                           ! " # $ % & ' ( ) * + , - Oh+'0  0 < H T`hpx Chapter 10 Mac User Normal.dotmmercer10Microsoft Office Word@^в@W7@W7@X7# 4GVT$m+  t&" WMFC2 lVT$m EMF (    % % Rp8@"Arial' <+(RO`2<+4( ) +$O`2<+4( o.14(<+ Do.1LsX3. * Arial.1?=(472h(9'1((z%1(Ddv% % %   TXg@j@Xu L`Chapter 1ooo8oC8oTT5g@j@uLP1pTT6g@j@6uLP k!" Rp@"Arial' <+(RO`2<+4( ) +$O`2<+4( o.14(<+ o.1LsX3. * Arial`2+V`26| Bh(9'1((z%1( dv% % %  T`X O7g@j@XLTTwoTTP 7g@j@PLP-"YT  7g@j@LpDimensional Arrays:;;JYYTT >7g@j@ LP `2!" Rp@Times New Roman' <+(RO`2<+4( ) +$O`2<+4( o.14(<+ 0o.1LsXG* Times ew Romanh(9'1((z%1(0dv% % %  TTX=g@j@XLP )!"  TTXg@j@XLP @K!"  TTX|g@j@XgLP K!"  TTXg@j@XLP K!"  TXUg@j@X@eLThis chapter introduces Java arrays with two subscripts for managing data logically stored in a table9-$(.)-)-.-.)($%)-)))-$B.B.$..$(.#.F).)-.-.)).-)(-$.)..))-)TTUg@j@@LP-eTlkUg@j@@LXlike -)!" Rp@Symbol'<+(RO`2<+4() +$O`2<+4( o.14(<+ Lo.1wLsX5Symbol(472h(9'1((z%1(Ldv% % %  % % % TpX^Lg@j@XLXformat.F)% % % TTJTg@j@MLP\% % % T\^g@j@XLin rows and columns. This structure proves useful for storing and managing data in many ..B#)..)..F.$9.$#-)-)-.-)$.#).-#..-)..F).)-.-.))-F).-!"  TX2g@j@XLlapplications, su)..)(..$$.T@2g@j@SLch as electronic spreadsheets, games, topographical maps, and student record books.).)$()(..)$.)).$-)($-)F)$...-)..))F).$)..#-.).)(..-..-$TT2g@j@LP )!"  TTX7g@j@XLP )Rpj@"Arial' <+(RO`2<+4( ) +$O`2<+4( o.14(<+ <o.1LsX3. * ArialT(x-1(472h(9'1((z%1(<dv% % %  T`X7 ' g@j@X LT11.SS*TX(7  g@j@( LP1 S*TT7  g@j@ LP *TX7 " g@j@ LP **TT#7 u g@j@# LP2STTv7  g@j@v LP-@2T|7  g@j@ L\D Arraysl*d22TILTT7 ? g@j@ LP Q! '% LdL  L T!??% ( "  % % % TX v} g@j@Xh dLData that conveniently presents itself in tabular format can be represented using an array with two B)).()..-).).-.)#).$$(.).-)-F)))..))-)#).).-$.-)-))-B.&" WMFC h B.!"  TX  g@j@X L|subscripts, known as a $..$(-$-..B.($)T` 1 g@j@ LTtwoB.TT2 O g@j@2 LP-TP  g@j@P Ltdimensional array. .F).$..(()-T` g@j@ LTTwo9B.TT g@j@ LP-iT ~ g@j@ L`dimensiona.F).$..)TP o g@j@ +Ll arrays are constructed with two pairs of ))-$)().-$.))-B.B.-)$-!"  ThX TV g@j@XA ZLsquare brackets to indicate two subscripts representing the row and column of the element.$..)).))-)$..-)()B.$..$(-$)-)#)..-.).B)..)..F...)))F).TTU }V g@j@UA LP s)!" Rp@Times New Roman' <+(RO`2<+4( ) +$O`2<+4( o.14(<+ \Mo.1LsXG* Times ew Roman$Dh(9'1((z%1(\Mdv% % % Rp@Times New Roman' <+(RO`2<+4( ) +$O`2<+4( o.14(<+ Qo.1LsXG* Times ew Romanh(9'1((z%1(Qdv% % %  % % % TX ` g@j@X LhGeneral Form:<%.% *7* B% % % TTa u g@j@a LP Tlv H g@j@v LXA two<<*TTI d g@j@I LP-Te d g@j@e BLdimensional array consruction (all elements set to default values).C%/ *.**%%**%*. %.%*.*%&D%.  %*.%*.**.% TTe  g@j@e LP -! '% LdL  L !??% ( " Rp@Times New Roman' <+(RO`2<+4( ) +$O`2<+4( o.14(<+ lo.1LsXG* Times ew Romanh(9'1((z%1(ldv% % % Rp @1Courier'<+(RO`2<+4() +$O`2<+4( o.14(<+ \+o.1LsX71 Courie(472h(9'1((z%1(\+dv% % % Rp @Times New Roman' <+(RO`2<+4( ) +$O`2<+4( o.14(<+ 7o.1LsXG* Times ew RomanGh(9'1((z%1( 7dv% % %  % % % TdX } g@j@Xh LTtype).)% % % Td y g@j@h LT[][]7777% % % TT } g@j@h LP % % % Tl } g@j@h LXarray.$$-)TT } g@j@h LP-Tl } g@j@h LXname ..A)% % % TT y g@j@h LP=7% % % TT { g@j@h LP PP% % % T` y g@j@h LTnew677% % % TT } g@j@h LP % % % Td N} g@j@h LTtype).)% % % TTO e} g@j@Oh LP % % % TTf y g@j@fh LP[6% % % T` *} g@j@h LTrow$.=TT+ H} g@j@+h LP-T|I  } g@j@Ih L\capacity)...()% % % TX  y g@j@ h LP][77% % % Tp  } g@j@ h LXcolumn(..B.TT   } g@j@ h LP-T|  P } g@j@ h L\capacity)...()% % % TXQ  y g@j@Q h LP];76TT  y g@j@ h LP PP7!" % % % % % % &" WMFC H Rp  @Times New Roman<+(RO`2<+4( ) +$O`2<+4( o.14(<+ 0o.1LsXG* Times ew omanh(9'1((z%1(0dvdv% Rp @Times New Roman0o.1LsX\&|`('A|h]||& @w !Z R %XX   P <'.a"'|a a$(E(wYwdv% ( Rp  @Times New Roman|`('A|h]||& @w  \&|`('A|h|& @%& |`|]|| | y/ @w P &6ؚ|| |w/  !ZwYwdv% ( Rp @Times New Roman|`('A|h|& @ %\&|`('A|h|& @%& |`|]|| | h @w P &6ؚ|| |wh  !ZwYwdv% ( Rp  @Times New Roman|`('A|h|& @ %\&|`('A|h|& @%& |`|]|| | z/ @w P &6ؚ|| |w/  !ZwYwdv% ( % ( % % %  % % % TdX  g@j@X LTtype).)% % % Td  g@j@ LT[][]7777% % % TT  g@j@ LP 63% % % Tl  g@j@ LXarrayR>.$$-)TT  g@j@ LP-^Tl  g@j@ LXname @..A)% % % TT  g@j@ LP=7% % % TT  g@j@ LP Td n g@j@ LT{ {$$% % % TTo  g@j@o LP FTh j g@j@ /Lelement[0][0], element[0][1], element[0][2], & ))F).-.()F)...))F)...\% % % T`k g@j@k LT} ,$TT g@j@ LP Ee2!"  % % % TTX GT g@j@XA ,L TTH kT g@j@HA LP{$% % % TTl V g@j@lA LP %$Th g V g@j@A /Lelement[1][0], element[1][1], element[1][2], & ))F).-.()F)...))F)...\% % % T`h T g@j@h A LT} ,*+$TT T g@j@ A LP @2!"  % % % TTXY G g@j@X ,L TTHY k g@j@H LP{5!$% % % TTl[  g@j@l LP Tp[  g@j@ LXelemen))F).TD[ g g@j@ )Lt[2][0], element[2][1], element[2][2], & @-.()F)...))F)...\% % % Tph Y  g@j@h LX} };$$TTY D g@j@ LP 2!" Rp @Times New Roman' <+(RO`2<+4( ) +$O`2<+4( o.14(<+ \ o.1LsXG* Times ew Romanh(9'1((z%1(\ dv% % % Rp  @Times New Roman$1|л.1@J.1 o.1@H o.12d GTimes ew RomanL`t9'1z%1ػdv% % % % %  TX g@j@X L` TT 5g@j@LP !"!" Rp @Symbol'x*'RO`2x*p'(\*$O`2x*p' o.1p'x* |>o.1wLsX5Symbol|'472'9'1''z%1(|>dv% % % Rp@"Arial' x*'RO`2x*p' (\*$O`2x*p' o.1p'x* <)o.1LsX3. * Arial'472'9'1&" WMFC ( ''z%1(<)dv% % % Rp@Times New Roman& H*'RO`2H*@' (,*$O`2H*@' o.1@'H* ,Jo.1LsXG* Times ew Romant'9'1''z%1',Jdv% % % Rp@Times New Roman& H*'RO`2H*@' (,*$O`2H*@' o.1@'H* ,o.1LsXG* Times ew Roman0_t'9'1''z%1',dv% % %  % % % TTXg@j@XsLP*% % % TT g@j@sLP #l% % % Tl!g@j@sLXtype ?).)% % % T!qg@j@sLLmay be one of the primitive types or the name of any Java class or interfaceF)-.)..)--).F-)-.)$..)-)F).).-%)-)()#$--(()(TTr!g@j@rsLP )!"  % % % TTXg@j@XLPT*% % % TTg@j@LP kl% % % T>g@j@ L`identifier.)-)$% % % TT?Tg@j@?LP ?TUg@j@ULxis the name of the two$.).)F)..(B.TTg@j@LP-}T2 g@j@Lpdimensional arrayk.F).$..(()-TT3 [ g@j@3 LP &,)!"  % % % TTXfg@j@XSLP +*% % % TTfg@j@SLP `l% % % Tlhg@j@SLXrows $.=$% % % Thg@j@S"Lspecifies the total number of rows$-)))$.).)--F.)..B#TThg@j@SLP )!"  % % % TTXgg@j@XLP#*% % % TTpg@j@LP  l% % % Txqg@j@L\columns#&)..B.#% % % TT q6g@j@ LP T7q.g@j@7Llspecifies the t"$.()($.)T/q g@j@/Lxotal number of columns.)..F.).)-.F.$TT q g@j@ LP 7)!" Rp@Times New Roman' <+(RO`2<+4( ) +$O`2<+4( o.14(<+ To.1LsXG* Times ew RomanFh(9'1((z%1(Tdv% % %  TTX%g@j@XLP D!"  % % % TX'g@j@Xy L`Examples:8.)F.)$TT'g@j@yLP $)!" Rp@1Courier New'<+(RO`2<+4() +$O`2<+4( o.14(<+ &o.1*LsX?= * Courie New(472h(9'1((z%1( &dv% % %  TT 8g@j@ LP 4F-!" Rp@1Courier'<+(RO`2<+4() +$O`2<+4( o.14(<+ 'o.1LsX71 CourieL`26& bh(9'1((z%1('dv% % % Rp@1Courier'<+(RO`2<+4() +$O`2<+4( o.14(<+ 8o.1LsX71 Courie@`267x[h(9'1((z%1(8dv% % %  % % %  UTpXe/g@j@X!LXdouble------% % %  Tf/g@j@f!Lh[][] matrix = --------------% % %  UT`b/g@j@!LTnewxi---% % %  TTc/g@j@c!LP e-% % %  UTp/g@j@!LXdouble------% % %  Tx/g@j@!L\[4][8];hi-------TT&" WMFC   /g@j@!LP ac- TTX0zg@j@XlLP ea-  T,X{g@j@X%L// Construct with integer expressionsli-------------------------------------TT{ g@j@LP gr-  % % %  UT`Xg@j@XLTintar---% % %  TT g@j@LP ef-T g@j@  L`rows = 5;p ---------TTg@j@LP ht- % % %  UT`X[g@j@XMLTintb---% % %  TT [g@j@MLP 0-T T[g@j@ M Lhcolumns = 10;7 -------------TTU[g@j@UMLP e - % % % TX]g@j@XLpString[][] name = ------------------% % %  UT`]g@j@LTnewbB---% % %  TT ]5g@j@ LP Si-T6] g@j@6LxString[rows][columns];----------------------TT ]@ g@j@ LP 0- % % % TT 8g@j@ LP :-!"  % % %  TX Gg@j@X9;L// You can use athis shortcut that initializes all elementsre-----------------------------------------------------------TT  Gg@j@ 9LP to-  % % %  UT`XHg@j@XLTint ---% % %  T`Heg@j@LT[][---TfHpg@j@fL|] t = { { 1, 2, 3 }, c----------------------- TqH g@j@qL// First row of 3 integers-------------------------- TT H/ g@j@ LP //- TXg@j@XLh --------------Tpg@j@Ll{ 4, 5, 6 }, ST--------------- Tq g@j@qL// Row index 1 with 3 columnsPU-----------------------------TT  g@j@ LP ha-  TX(g@j@XLh --------------Tp(g@j@Ll{ 7, 8, 9 } }; --------------- Tq (g@j@qL// Row index 2 with 3 columnsne-----------------------------TT  (g@j@ LP -   TTX)sg@j@XeLP - Rp@"Arial' <+(RO`2<+4( ) +$O`2<+4( o.14(<+ \o.1LsX3. * Arial4+(.1(472h(9'1((z%1(\dv% % %  TlXF \g@j@XC0LReferencing Individual Items with Two SubscriptsTA!A'A@;AA !AA9AAA! !A`;!S!A!GSA!NAA:;'@!:TTG  \g@j@G CLP ?!"  % % % T8X g@j@X'LA reference to an individual element ofB)()-)).)..--..())F)..TT g@j@LP Tl g@j@LXa two)B.TT g@j@LP-Tc g@j@:Ldimensional array requires two subscripts. By convention, .F).$..)))-).-($B.$.-$).$=-)..-).-.!"  TX prg@j@X]iL programmers use the first subscript for the rows, and the second for the columns. Each subscript must be ..-)GF)$.$).)##..$)--.).B$)-..)$().....))..F.$&.WMFC  8)).$-.$(-F.$.)!"  TXug@j@XL|bracketed individually..))-))...-.-)-TTug@j@LP )!" % % 666666666666666666666666666666666666 6 66 6  6 66 6  6 66 6  6 66 6  6 66 6 66666666666666666666  ~."System--@"Arial--- 2 xQ Chapter 1  2 x1> 2 x >,'@"Arial---2 QTwo 2 -> &2 Dimensional Arrays   2  >,'@Times New Roman--- 2 Q >,' 2 Q > ,' 2 Q > ,' 2 Q > ,'2 QeThis chapter introduces Java arrays with two subscripts for managing data logically stored in a table    2 B->2 Flike ],'@Symbol------2 Qformat --- 2 r> ---2 Xin rows and columns. This structure proves useful for storing and managing data in many     ,'#2 Qapplications, su2 Sch as electronic spreadsheets, games, topographical maps, and student record books.m   2 A >,' 2 (Q >@"Arial---2 RQ11. 2 Rm1  2 R~ >2 R  2 R2> 2 R->2 RD Arrays  2 R > ,- @ !9P-'---2 iQdData that conveniently presents itself in tabular format can be represented using an array with two    ,'.2 xQsubscripts, known as a  2 xtwo  2 x->(2 xdimensional array. s 2 x:Two  2 xQ->2 xU dimensiona L2 x+l arrays are constructed with two pairs of   ,'2 QZsquare brackets to indicate two subscripts representing the row and column of the element.     2  >,'@Times New Roman---@Times New Roman------2 Q General Form: --- 2  >2 A twoa  2 ->n2 Bdimensional array consruction (all elements set to default values)   2  >,- @ !P- '@Times New Roman- - - @1Courier- - - @Times New Roman- - - - - - 2 Qtype- - - 2 f[][]--- 2  >- - - 2 arraya 2 ->2 name a - - - 2 =>- - - 2  >- - - 2 new--- 2  >- - - 2 type--- 2  >- - - 2 [>- - - 2 row 2 ->2 capacity- - - 2 I][- - - 2 Xcolumn  2 }->2 capacity- - - 2 ]; 2  >,'- - - --- @Times New Roman- @Times New Roman-   @Times New Roman-  @Times New Roman-   @Times New Roman-  - - - - - - - 2 Qtype- - - 2 f[][]--- 2  >- - - 2 arrayi 2 ->2 name i - - - 2 =>- - - 2  >2 { {--- 2  >R2 /element[0][0], element[0][1], element[0][2],     - - - 2 } , 2  >,'- - - M2 Q,  2 {>--- 2  >R2 /element[1][0], element[1][1], element[1][2],     - - - 2 } , 2  >,'- - - M2 Q,  2 {>--- 2  >2 elemen I2 )t[2][0], element[2][1], element[2][2],    - - - 2 } }; 2  >,'@Times New Roman- - -  @Times New Roman- - - - - 2 Q   2 k >,'@Symbol---@"Arial---@Times New Roman---@Times New Roman------ 2 Q>--- 2 W >---2 ftype ;---}2 ~Lmay be one of the primitive types or the name of any Java class or interface    2  >,'--- 2 Q>--- 2 W >---2 f identifier--- 2  >,2 is the name of the two   2 ->%2 dimensional arraye  2 b >,'--- 2 Q>--- 2 W >---2 frows ;--->2 "specifies the total number of rows   2 ) >,'--- 2 #Q>--- 2 #W >---2 #fcolumnsy --- 2 # >"2 #specifies the t,2 #otal number of columns   2 #M >,'@Times New Roman--- 2 /Q > ,'---2 <Q Examples:  2 < >,'@1Courier New--- 2 Hj >,'@1Courier---@1Courier------ U2 SQdouble---  2 Sv[][] matrix = --- U2 Snew---  2 S >--- U2 Sdouble--- 2 S[4][8];y 2 S3 > 2 ]Q > C2 gQ%// Construct with integer expressions 2 g3 > --- U2 qQint---  2 qd >2 qj rows = 5; 2 q >--- U2 |Qint---  2 |d >2 |j columns = 10; 2 | >---&2 QString[][] name = --- U2 new---  2  >,2 String[rows][columns]; 2 ] >--- 2 j >,'--- d2 Q;// You can use athis shortcut that initializes all elements 2  > --- U2 Qint--- 2 d[][.2 v] t = { { 1, 2, 3 },  22 // First row of 3 integers  2  > 2 Q "2 { 4, 5, 6 },  72 // Row index 1 with 3 columns 2  >  2 Q "2 { 7, 8, 9 } };  72 // Row index 2 with 3 columns 2  >   2 Q > @"Arial---S2 Q0Referencing Individual Items with Two Subscripts             2  >,'---F2 Q'A reference to an individual element of   2  >2 a two]  2 3->b2 7:dimensional array requires two subscripts. By convention,   ,'2 Qiprogrammers use the first subscript for the rows, and the second for the columns. Each subscript must be     ,'.2 Qbracketed individually. 2  >,'--~~~~~~~~~~~~~~~~}}}}}}}}՜.+,0 hp  University of Arizonao=  Chapter 10 Title  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>@ABCDEFKRoot Entry FưX7M1TableV)WordDocumentHSummaryInformation(DocumentSummaryInformation8?CompObjy  F'Microsoft Office Word 97-2003 Document MSWordDocWord.Document.89q