第二次做業 我的項目實踐

1.一維數組代碼以下:
package
s008;
import java.util.Scanner; //利用scanner類從鍵盤導入數據

publicclass A

{ public static void main(String[] args)
{
int[] arr1={-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
};
Scanner a = new Scanner(System.in);  //實例化一個對象,用a調用方法
         System.out.println("起始位");
           int start = a.nextInt() ; //利用nextInt()從鍵盤導入數據
         System.out.println("結束位:");
           int end =a.nextInt();
         System.out.println("指定的範圍:"+start+"---"+end);
         int i=start-1; //由於a[i]表示數i-1,所以i=start-1
         int sum=0;
         while(i<end-1)    
          {
             sum=sum+arr1[i];
                 i++;
                 }
                  System.out.println("總和爲:"+sum);
                }

            }

代碼運行結果:

 

 

2.二維數組代碼以下:
package
s008; import java.util.Scanner; public class B { public static void main(String[] args) { int[][] arr2={
{ -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}
}; Scanner b
= new Scanner(System.in); System.out.println("起始行:");//將二維數組看作一個平面圖,利用行A和列D來排列 int startA = b.nextInt(); System.out.println("終止行:"); int endA =b.nextInt(); System.out.println("起始列:"); int startD = b.nextInt(); System.out.println("終止列:"); int endD =b.nextInt(); System.out.println("計算的範圍:"); System.out.println("行位"+startA+"---"+endA);//行取值爲1-2 System.out.println("列位"+startD+"---"+endD);//列取值爲1-100 int j=startD-1; int sum=0; for(int i=startA-1;i<endA-1; i++) //利用for while循環嵌套語句進行求和 { while(j<endD-1) { j++; sum=sum+arr2[i][j]; } } System.out.println("總和爲:"+sum); } }


代碼運行以下:

 

3.三維數組代碼:
package s008;
import java.util.Scanner; public class C { public static void main(String[]args) { int[][][] arr3 = 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 c = new Scanner(System.in) ; //將三維數組看做立體圖,利用x,y,z座標進行模仿 System.out.println("起始橫座標:");//x取值1-3 int startX = c.nextInt() ; System.out.println("終止橫座標:"); int endX =c.nextInt(); System.out.println("開始縱座標:");//y取值1 int startY = c.nextInt() ; System.out.println("終止縱座標:"); int endY =c.nextInt(); System.out.println("開始垂直軸:");//z取值1-100 int startZ = c.nextInt() ; System.out.println("終止垂直軸:"); int endZ =c.nextInt(); System.out.println("運算範圍:"); System.out.println("橫座標範圍:"+startX+"---"+endX); System.out.println("縱座標範圍:"+startY+"---"+endY); System.out.println("垂直座標範圍:"+startZ+"---"+endZ); int sum=0; for(int i=startX-1;i<=endX-1;i++) { for(int j=startY-1;j<=endY-1;j++) { for(int m=startZ-1;m<=endZ-1;m++) { sum=sum+arr3[i][j][m]; } } } System.out.println("總和"+sum); } }

代碼運行以下:

 

4.小結:java

  一開始看到這個題目時感受無從下手,後來看到老師給的數據和建議想到C++中關於有具體的介紹,Java中也有部分涉及。可是開始編寫時仍是以爲本身力不從心,深深感受到大一大二隻是應付考試,沒有認真去學,因此深感本身知識和技能上的缺陷,還須要積累學習。幸虧有老師不斷地提點,還有其餘同窗的程序,本身才能寫出一點。數組

  數組的數據是老師給的,雖然老師建議將數據導入程序中可是對網上的一些導入技巧不太理解,因此學習其餘同窗手動導入數據。在此次編寫中,參考了其餘同窗運用了Scanner類的nextInt()方法,固然其中也遇到一些錯誤。例如在一維數組中利用while語句求和時,忘記寫i++致使結果沒法求出;在利用for,while嵌套語句對數組求和中對i進行條件約束時,應該些爲i<end-1否則會出現範圍超過的提示,由於數組的第一個數是從a0開始數的。尤爲是在三維數組中在模仿其餘同窗時發現本身的運算範圍依然超出數組,後來發現本身的數組定義y是垂直座標的範圍是1。雖然本身的編寫不好,參考了不少資料,可是可以將程序運行出來,仍是以爲很值得。
學習

相關文章
相關標籤/搜索