JAVA實驗二 陣列

ZoapsPsnoob發表於2020-12-18

一、實驗目的:1、學會使用一維與二維陣列管理簡單資料。2、學會編寫簡單的選單驅動(命令列式)的Java程式二、實驗環境:PC WINDOWS NETBEAN  三、實驗內容:1.定義一個int型的一維陣列,陣列的長度由鍵盤輸入,為陣列中的元素隨機賦值。依次完成如下功能:(1) 輸出陣列中的元素。每行輸出最多十個數字,數字之間用Tab鍵分隔;(2) 計算陣列中元素之和,並輸出;(3) 求出陣列中元素的最大值及其位置(若有多個相同的最大值,僅輸出第一個),並輸出。
package javaapplication1;
import java.util.Scanner;
import java.util.Random;
public class JavaApplication1 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
int n,sum=0,max=0,l=0;
int i=0;
long r=System.currentTimeMillis();
System.out.println(“shur”);
n=sc.nextInt();
int []a=new int[n];
for(;i<n;i++)
{
  if(i%100){
    System.out.println();
   };
    a[i]=(int)(Math.random()*100);
    System.out.print("\t"+a[i]);
    sum=sum+a[i];
    if(max<a[i])
    {
        max=a[i];
        l=i;
    }
}
System.out.println();
System.out.println(“sum=”+sum);
System.out.println(“max=”+max);
System.out.println(“l=”+l);
        // TODO code application logic here
    }
   
} 2. 定義一個二維整形陣列data[5][6],陣列中的元素在區間[0, 100)上隨機賦值。找出陣列中所有的具有這類性質的元素及其位置:該元素在所在行是最大的,但在其所在列也是最大的。如果沒有這樣的元素,則輸出“沒有這樣的元素”。import java.util.Scanner;import java.util.Random;public class m1 {    public static void main(String[] args) {        // TODO code application logic here        int [][]data=new int[5][6];        int Lmax=0,Hmax=0,L=0,H=0;        for(int i=0;i<5;i++)        {            for(int j=0;j<6;j++)         {            data[i][j]=(int)(Math.random()*100);         System.out.print("\t"+data[i][j]);         };         System.out.println();        }//裝入資料        for(int i=0;i<5;i++)//        {            for(int j=0;j<6;j++)//行遍歷            {            if(Hmax<data[i][j])            {                Hmax=data[i][j];                H=i;                L=j;            }            };                        for(int a=0;a<5;a++)//LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL            {                if(Lmax<=data[a][L])                {                Lmax=data[a][L];                H=a;                }            }                        if(Lmax
Hmax)            {            System.out.println(“行”+(H+1)+“列”+(L+1)+“最大值”+Hmax);            }            else            {               if(i!=5)               {                   continue;               }               else{                    System.out.println(“沒有這樣的元素”);               }            }              Lmax=0;            Hmax=0;        }                    }//main    } 3. Write a menu-driven program that provides three options (編寫一個選單驅動程式,提供如下三個選項):a) the first option allows the user to enter a temperature in Celsius and displays the corresponding Fahrenheit temperature (第一個選項允許使用者輸入一個攝氏溫度,並輸出其相應的華氏溫度);b) the second option allows the user to enter a temperature in Fahrenheit and displays the corresponding Celsius temperature (第二個選項允許使用者輸入一個華氏溫度,並輸出其相應的攝氏溫度);c) the third option allows the user to quit (第三個選項允許使用者關閉程式).The formulate that you need are as follows, where C represents a Celsius temperature and F a Fahrenheit temperature: (以下是你需要的公式,其中C代表攝氏溫度,F代表華氏溫度)F = 9C/5 + 32C = 5(F – 32)/9package javaapplication1;import java.util.Scanner;public class JavaApplication1 {    public static void main(String[] args) {        // TODO code application logic here        int F=0,C=0,a;        System.out.println(“1F=9c/5+32”);        System.out.println(“2C=5(F-32)/9”);        System.out.println(“3exit”);        Scanner sc=new Scanner(System.in);        F=sc.nextInt();        C=sc.nextInt();        a=sc.nextInt();        switch(a)        {            case 1:                System.out.println( F=9C/5+32);                break;            case 2:                System.out.println( C=5(F-32)/9);                break;            case 3:break;            default: break;        }     } }4. 超級遞增序列指的是一個整數序列,這個序列中的每一個整數都要比它前面所有整數的和大。編寫一個程式,讀入一組整數,然後判斷這組整數是否為超級遞增序列。輸入格式為:陣列長度n 數1 數2 數3 … 數n輸出格式為:“數1 數2 數3 … 數n”是(或不是)超級遞增序列。示例:當輸入為5 1 2 4 9 20時,輸出應為“1 2 4 9 20”是超級遞增序列;當輸入為6 1 4 9 14 25 65時,輸出應為“1 4 9 14 25 65”不是超級遞增序列。import java.util.Scanner;import java.util.Random;public class m1 {    public static void main(String[] args) {        // TODO code application logic here     int n,max=0;        System.out.println(“shur”);        Scanner sc=new Scanner(System.in);        n=sc.nextInt();       int a[]=new int[n];       for(int i=0;i<n;i++)       {           a[i]=sc.nextInt();       }       for(int i=0;i<n;i++)       {          System.out.print("  "+a[i]);       }       for(int i=0;i!=n-1;i++)       {         if(a[i]<a[i+1])             max++;        }       if(max==n-1)           System.out.print(“是超級遞增序列”);       else           System.out.print(“不是超級遞增序列”);    }//main    } 5. (選做)編寫一個程式,從鍵盤讀入一個句子(句子中可能包含空格、大小寫字母、數字、標點符號等),試統計該句子中字元(不區分大小寫)、數字、空格及其它字元的個數。四、心得體會:實驗過程中總會遇到各種問題,關鍵是能自己解決這些問題,這才是能培養自己的自學和解決困難的能力;實際操作中遇到自己還是不確定的問題時,可以對該步奏進行多次實驗,觀察結果是否有什麼規律,再次確認自己對所做的實驗的現象的判斷是否正確,這樣才能確保實驗的準確性。

相關文章