尚学堂第七章授業後のコード問題

18786 ワード

練習問題

  • 配列検索操作:長さ10の1次元文字列配列を定義し、各要素に単語を格納します.そして実行時にコマンドラインから単語を入力し,配列にその単語が含まれているか否かを判断し,その単語を含むと「Yes」,含まないと「No」を印刷する.
  • /**
     *  
     * @author WCS
     *
     *
     */
    public class TT { 
    	public static void main(String args[]){
    		String[] Str = {"a","ab","abc","abcd","abcde","abcdef","abcdefg","abcdefgh","aa","bb"};		
    		Scanner Input = new Scanner (System.in);// 
    		System.out.print(" :");
    		String str2 = Input.nextLine();// 
    		System.out.println(" :"+ str2);
    		System.out.println(" :"+Search(Str,str2));
    			
    }
    	/**
    	 * 
    	 * @param Arrays  
    	 * @param S  
    	 * @return String  
    	 */
    	public static String Search(String[] Arrays, String S){
    		for(int i=0;i <Arrays.length;i++){
    			if(Arrays[i].equals(S)){// 
    				return "YES";// YES
    			}
    		}
    		return "NO";// NO		
    	}
    }
    
  • 配列の最大値と最小値を取得する操作:JavaのMathクラスのrandom()メソッドを利用して、関数を記述して0からnの間の乱数を得て、nはパラメータです.このような乱数50個の中で最大、最小の数を生成し、そのうち>=60個がどれだけあるかを統計する.

  • ヒント:int num=(int)(n*Math.random()を使用します.乱数を取得します.
    public class TT { 
    	public static void main(String args[]){
    		int [] Str=  new int [50];// 50 
    		int max_1 = 0,min_1 = 0,value_1 = 0;//   60   
    		for(int i= 0;i<50;i++){// 
    			Str[i] = (int)(100*Math.random());// 
    		}
    		System.out.println(Arrays.toString(Str));
    		math(Str,max_1,min_1,value_1);// 	, 	
    	}
    
    	/**
    	 *  
    	 * @param Arrays  
    	 * @param max  
    	 * @param min  
    	 * @param value  60 
    	 */
    	public static void math (int[] Arrays,int max, int min,int value){
    		for(int i=0;i<Arrays.length;i++){
    			if(Arrays[i]>max){
    				max = Arrays[i];
    			}
    			if(Arrays[i]<min){
    				min = Arrays[i];
    			}
    			if(Arrays[i]>=60){
    				value++;
    			}
    		}
    		System.out.println(" :"+max);
    		System.out.println(" :"+min);
    		System.out.println(" 60 :"+value+" ");
    		
    	}
    }
    
  • 配列逆順序操作:長さ10の配列を定義し、配列要素を調整し、調整前後の結果を出力します.考え方:0インデックスとarr.length-1の要素を交換し、1インデックスとarr.length-2の要素を交換する......arr.length/2に交換すればよい.
  • public class TT { 
    	public static void main(String args[]){
    		int [] S= {1,2,3,4,5,6,7,8,9,10,11};// 10 
    		System.out.println(" :"+Arrays.toString(Exchange(S)));
    }
    	/**
    	 * 
    	 * @param Arrys  
    	 * @return  
    	 */
    	public static int[] Exchange (int[] Arrys){		
    		int mid=0,temp1=0;
    		mid = Arrys.length/2-1;// 
    		System.out.println(mid);
    			for(int i=0;i<=mid;i++){// .
    				temp1= Arrys[i];
    				Arrys[i]= Arrys[Arrys.length-1-i];
    				Arrys[Arrys.length-1-i]= temp1;
    			}		
    		return Arrys;
    	}
    }