標籤:
1. 設計一個類(不妨叫做A ),實現對一維數組(a[100])的指定範圍內的元素相加運算。 [課堂講解過] 數組長度:100,範圍:實驗資料A列:1~100,CSV 格式則填充 前100個資料
package AAA; import java.util.Scanner; public class a { public static void main(String[]args) { int[] b={-2574,-4010,8243,771,2447,-5197,2556,8044,3314,3617,6065,-2817,3131,6318,2186,-113,629,-2582,-37,-1520,164,2055,-5936,5912,1717,5988,4781,5757,892,-4394,8034,2213,-1080,-2080,5364,106,2657,566,3940,-5116,4583,1806,6555,2621,-7197,528,1626,18,1049,6243,3198,4397,-1325,9087,936,-6291,662,-178,135,-3473,-2385,-165,1713,-7949,-4234,1138,2212,104,6968,-3632,3801,1137,-1296,-1215,4272,6223,-5922,-7723,7044,-2938,-8180,1356,1159,-4022,-3713,1158,-8715,-4081,-2541,-2555,-2284,461,940,6604,-3631,3802,-2037,-4354,-1213,767}; int sum=0; Scanner sc = new Scanner(System.in) ; System.out.println("從第m個開始:");//<=100 int start = sc.nextInt() ; System.out.println("到第n個結束:");//<=100 int end =sc.nextInt(); System.out.println("第"+start+"個到第"+end+"個的和為:"); for(int i=start;i<=end;i++)//for語句 sum+=b[i]; System.out.println(b[start-1]+"+...+"+b[end-1]+"="+sum); }}
2. 設計一個類(不妨叫做B ),實現對二維數組(a[N][M])的指定範圍內的元素相加運算。 數組長度:(N*M 約等於200),範圍:實驗資料A、B列:1~100,CSV格式則填充前N*M個資料;
package AAA; import java.util.Scanner; public class aa { public static void main(String[]args){ int[][] b={{-2574,-4010,8243,771,2447,-5197,2556,8044,3314,3617,6065,-2817,3131,6318,2186,-113,629,-2582,-37,-1520,164,2055,-5936,5912,1717,5988,4781,5757,892,-4394,8034,2213,-1080,-2080,5364,106,2657,566,3940,-5116,4583,1806,6555,2621,-7197,528,1626,18,1049,6243,3198,4397,-1325,9087,936,-6291,662,-178,135,-3473,-2385,-165,1713,-7949,-4234,1138,2212,104,6968,-3632,3801,1137,-1296,-1215,4272,6223,-5922,-7723,7044,-2938,-8180,1356,1159,-4022,-3713,1158,-8715,-4081,-2541,-2555,-2284,461,940,6604,-3631,3802,-2037,-4354,-1213,767},{2740,-4182,-5632,-2966,-1953,567,-8570,1046,2211,1572,-2503,-1899,3183,-6187,3330,3492,-464,-2104,316,8136,470,50,466,-1424,5809,2131,6418,-3018,6002,-8379,1433,1144,2124,1624,-602,-5518,5872,870,-5175,-3961,-427,-6284,2850,481,6175,141,-766,-1897,-748,-4248,366,4823,3003,1778,3256,2182,2253,5076,5540,-2650,2451,-1875,5482,-6881,-329,-969,-8032,-2093,612,1524,-5492,5758,-7401,-5039,3241,6338,3581,4321,-1072,4942,2131,210,-7045,-7514,7450,-1142,-2666,-4485,-639,2121,-5298,-3805,-1686,-2520,-1680,2321,-4617,-1961,2076,7309}}; int sum=0; Scanner sc = new Scanner(System.in); System.out.println("行開始x1:");//<=2 int startX = sc.nextInt(); System.out.println("行結束x2:"); int endX =sc.nextInt(); System.out.println("列開始y1:");//<=100 int startY = sc.nextInt(); System.out.println("列結束y2:"); int endY =sc.nextInt(); for(int i=startX-1;i<=endX-1;i++) { for(int j=startY-1;j<=endY-1;j++) { sum+=b[i][j]; } } System.out.println(b[startX-1][startY-1]+"+...+"+b[endX-1][endY-1]+"="+sum); } }
3.設計一個類(不妨叫做C ),實現對三維數組(a[N][M][K])的指定範圍內的元素相加運算。 數組長度:(N*M*K 約等於300),範圍:實驗資料A、B、C列:1~100, CSV格式則填充前N*M*K個資料;
package AAA; import java.util.Scanner; public class aaa { public static void main(String[]args) { int sum=0; int[][][] c = new int[][][] { {{-2574,-4010,8243,771,2447,-5197,2556,8044,3314,3617,6065,-2817,3131,6318,2186,-113,629,-2582,-37,-1520,164,2055,-5936,5912,1717,5988,4781,5757,892,-4394,8034,2213,-1080,-2080,5364,106,2657,566,3940,-5116,4583,1806,6555,2621,-7197,528,1626,18,1049,6243,3198,4397,-1325,9087,936,-6291,662,-178,135,-3473,-2385,-165,1713,-7949,-4234,1138,2212,104,6968,-3632,3801,1137,-1296,-1215,4272,6223,-5922,-7723,7044,-2938,-8180,1356,1159,-4022,-3713,1158,-8715,-4081,-2541,-2555,-2284,461,940,6604,-3631,3802,-2037,-4354,-1213,767}}, {{2740,-4182,-5632,-2966,-1953,567,-8570,1046,2211,1572,-2503,-1899,3183,-6187,3330,3492,-464,-2104,316,8136,470,50,466,-1424,5809,2131,6418,-3018,6002,-8379,1433,1144,2124,1624,-602,-5518,5872,870,-5175,-3961,-427,-6284,2850,481,6175,141,-766,-1897,-748,-4248,366,4823,3003,1778,3256,2182,2253,5076,5540,-2650,2451,-1875,5482,-6881,-329,-969,-8032,-2093,612,1524,-5492,5758,-7401,-5039,3241,6338,3581,4321,-1072,4942,2131,210,-7045,-7514,7450,-1142,-2666,-4485,-639,2121,-5298,-3805,-1686,-2520,-1680,2321,-4617,-1961,2076,7309}}, {{302,-7944,-6551,6648,-884,-6332,1188,-248,3902,-2171,-3782,-3510,6203,-636,-4605,4497,3187,-6278,1198,-7963,7647,-3022,-8267,7995,-1998,-4171,730,-8117,-1706,7601,-2454,-6161,-1810,243,-2841,-5377,2985,2328,177,5622,3596,3057,2830,-1151,6566,2254,6972,-3060,4063,367,84,3156,3880,-1530,5272,1385,-565,-1736,1267,-3863,-229,2072,2423,-7449,9555,2844,-1278,-3613,-919,4153,-4232,4032,-5732,199,4792,2498,-3344,-4193,2650,-579,3416,-3575,1822,-6936,-2661,-1873,414,2314,6844,7613,-7844,6680,5974,2208,-3597,6302,4396,-141,-1864,1939}} }; Scanner sc = new Scanner(System.in) ; System.out.println("開始x1:");//<=3 int startX = sc.nextInt() ; System.out.println("結束x2:"); int endX =sc.nextInt(); System.out.println("開始y1:");//<=2 int startY = sc.nextInt() ; System.out.println("結束y2:"); int endY =sc.nextInt(); System.out.println("開始z1:");//<=100 int startZ = sc.nextInt() ; System.out.println("結束z2:"); int endZ =sc.nextInt(); for(int i=startX-1;i<=endX-1;i++) { for(int j=startY-1;j<=endY-1;j++) { for(int k=startZ-1;k<=endZ-1;k++) { sum+=c[i][j][k]; } } } System.out.println(c[startX-1][startY-1][startZ-1]+"+...+"+c[endX-1][endY-1][endZ-1]+"="+sum); } }
個人小結:
這次作業完成的有點遲,因為最初不懂題目的意思,後來在老師的進一步分析以及同學間的探討中,才有了思路。
這次作業中運用了Scanner類的nextInt()方法和Java中學習過的for語句,由於先前基礎沒有打好,這次作業前便去翻書查看了好久。儘管老師要求我們要從檔案中讀取資料,但詢問了周邊的同學,也沒有找到解決辦法,所以還是借鑒了張振淵同學的方法,採取了人工匯入資料。雖然之前學得並不好,但感覺每一次作業或多或少都能有點收穫,並能協助我們去溫習過去學過的知識,還是挺珍惜每次作業機會的。
第二次作業(個人項目實踐)