Java實驗2 方法與陣列
實驗目的:
(1)掌握一維陣列和二維陣列的定義、初始化方法。
(2)瞭解和初步應用java.lang.Math類的random()方法處理實際問題。
(3)瞭解增強for迴圈,並使用增強for迴圈順序訪問陣列元素。
(4)掌握String類中split方法、charAt方法以及length方法的使用。
(5)掌握Double、Integer等資料包裝類的parseDouble、parseInt等方法。
(6)掌握陣列的length屬性的應用
實驗內容:
(1)foreach迴圈
編寫一個程式,使用命令列引數的方式從控制檯讀入一組整數,利用foreach迴圈對其進行求和並輸出結果。
程式原始碼
import java.util.Scanner;
public class sum {
public static void main(String args[]) {
Integer[] num = new Integer[5];
Scanner input = new Scanner(System.in);
for(int i=0;i<5;i++)
num[i]=input.nextInt();
int sum = 0;
//foreach迴圈
for(int i:num)
sum+=i;
System.out.println(sum);
}
}
程式執行結果貼圖
(2)分別用一維陣列(例子陣列如下 { 7, 4, 3, 9, 0, 6 })實現氣泡排序、選擇排序和插入排序中的兩種排序演算法,程式中要求加註釋。
程式程式碼:
執行結果貼圖:
(3)編寫程式實現兩個矩陣的相加、相乘。
要求程式執行結果形如如下顯示:
Array c
1 2 3
4 5 6
7 8 9
Array d
2 2 2
1 1 1
3 3 3
Array c+d
3 4 5
5 6 7
10 11 12
Array c*d
13 13 13
31 31 31
49 49 49
程式程式碼:
執行結果貼圖:
(4)將用“;”和“,”分割的包含數字字元的字串“23, 21.3, 33;34, 2, 1.9, 2.1;3, 3, 1, 3, 4, 4.9”中的資料解析出來放在一個double型別的二維陣列中,以分號分割二維陣列的每一行,以逗號分割每行中的各個元素。(利用String 的split方法)
程式程式碼:
public class number {
public static void main (String args[]){
String[]str = ("3, 21.3, 33; 34, 2, 1.9, 2.1; "
+ "3, 3, 1, 3, 4, 4.9").split(";");//將每一行分開
double [][]num = new double[str.length][]; //建立最終的儲存陣列
for(int i = 0;i < str.length;i++)
{
String []temp = str[i].split(","); //在某行中數字按","分開
num[i] = new double[temp.length];
for(int j = 0;j < temp.length;j++)
num[i][j] = Double.parseDouble(temp[j]); //轉換為double陣列
}
for(int i = 0;i < num.length;i++)
{
for(int j = 0;j < num[i].length;j++)
{
System.out.print(num[i][j]+" ");
}
System.out.println();
}
}
}
執行結果貼圖:
(5)檢視幫助、編寫例子
利用System類中的arraycopy()方法複製陣列。
分別用Arrays類中的sort方法和binarySearch方法實現陣列的排序和折半查詢。
程式程式碼:
import java.util.Arrays;
public class text5 {
public static void main (String args[]){
int []a = {1,6,8,4,2,13,5,7,9,10};
//輸出原陣列
for(int i = 0;i < a.length;i++)
System.out.print(a[i]+" ");
//複製陣列並輸出
int[] a1 = new int[a.length];
System.arraycopy(a, 0, a1, 0, a.length);
System.out.println("\n複製之後的陣列:");
for(int i = 0;i < a1.length;i++)
System.out.print(a1[i]+" ");
//對陣列排序
Arrays.sort(a1);
System.out.println("\n排序之後的陣列:");
for(int i = 0;i < a1.length;i++)
System.out.print(a1[i]+" ");
}
}
執行結果貼圖:
(6)隨機生成100個小寫字母,統計每個字母出現的次數,並顯示出來。
(利用Math.random()方法隨機產生)
程式程式碼:
public class test3_6 {
public static void main(String []args){
char []s = new char[100];
char a = 'a';
//隨機產生小寫字母
for(int i = 0;i < 100;i++){
s[i] = (char)( 'a' + Math.floor(Math.random()*('z'-'a'+1)) );
}
int []num = new int[26];
//統計字母個數
for(int i =0;i < 99;i++)
num[s[i]-a] = num[s[i]-a] + 1;
for(int i =0;i < 99;i++){
System.out.print((char)(a+i) + " : " + num[i] + " ");
if(i%5==0)
System.out.println();
}
}
}
執行結果貼圖:
(7)建立一個不規則的二維陣列如下,並在控制檯顯示,陣列如下
1 3 5
2 4 6 8
1 9 16 25 36
10 20 30
1 2 3 4 5 6
程式程式碼:
執行結果貼圖:
(8)編寫兩個過載的方法分別交換兩個整型變數,和整型陣列的第一個和第二個元素,執行並分析結果
程式程式碼:
class Num {
int number;
public Num(int number){
this.number=number;
}
}
public class test3_8 {
public static void main(String []args){
Num a = new Num(1);
Num b = new Num(2);
int []c = {3,4};
System.out.println("交換前:");
System.out.println("a=" + a.number + " " + "b=" + b.number);
System.out.println("c[0]=" + c[0] + " " + "c[1]=" + c[1]);
swap(a,b);
swap(c);
System.out.println("交換後:");
System.out.println("a=" + a.number + " " + "b=" + b.number);
System.out.println("c[0]=" + c[0] + " " + "c[1]=" + c[1]);
}
public static void swap(Num a,Num b){
int temp = a.number;
a.number = b.number;
b.number = temp;
}
public static void swap(int []c){
int t;
t = c[0];
c[0] = c[1];
c[1] = t;
}
}
執行結果貼圖:
相關文章
- JAVA實驗二 陣列Java陣列
- scala陣列與java陣列對比陣列Java
- Java介面與陣列Java陣列
- java day6 java陣列2與物件導向1Java陣列物件
- java之陣列與集合Java陣列
- java陣列遍歷的方法Java陣列
- java陣列拷貝的方法Java陣列
- 轉:java中陣列與List相互轉換的方法Java陣列
- 陣列與字串方法與相互轉換陣列字串
- java 陣列的定義(宣告)方法Java陣列
- Java陣列操作的10大方法Java陣列
- 回顧 ES5新增陣列方法 與實現陣列
- javascript 偽陣列實現方法JavaScript陣列
- 陣列(2)陣列運算及典例(求解素數的方法)陣列
- Java陣列03:陣列使用Java陣列
- 陣列與方法的呼叫(重點)陣列
- Java中List與陣列互轉Java陣列
- Java 集合與陣列互相轉換Java陣列
- JAVA“類”陣列的建立與呼叫Java陣列
- 【Java基礎知識】Java陣列與集合Java陣列
- 陣列方法陣列
- Javascript - 陣列和陣列的方法JavaScript陣列
- Java 陣列Java陣列
- java——陣列Java陣列
- Java陣列Java陣列
- 常用的幾個陣列方法與數學方法陣列
- 稀疏陣列、佇列的概念與實踐陣列佇列
- 初識Java(Java陣列-陣列的基本操作)Java陣列
- js與jquery常用陣列方法總結JSjQuery陣列
- Java 陣列、Java 日期時間、Java 正規表示式、Java 方法Java陣列
- java之資料型別與陣列Java資料型別陣列
- 【Java基礎】--演算法與陣列Java演算法陣列
- 兩種初始化2維陣列方法陣列
- java日期 java陣列Java陣列
- 2-7 陣列:動態陣列陣列
- numpy陣列(2)陣列
- 常用陣列方法陣列
- 陣列常用方法陣列