2017-09-19 5 views
-2

実行時に値渡しの配列をチェックするには、数値、.. 与えられた配列を検証する方法を私に教えてもらえますか?最後の要素を除いて数値が入っています。メインメソッドの引数の検証

public class Compute { 

    public static void main(String[] args) 
    { 

     int Last = args.length-1; 
     String method[] = {"add","sub","mul"}; 
     String array[] = {"0","1","2","3","4","5","6","7","8","9"}; 

     if(args[Last].equals(method[0])) 
     { 
      System.out.println("Condition true"); 
      int sum = 0; 
      for(int i=0; i < args.length-1; i++) 
      { 
       ## if(array.contains(Integer.parseInt(args[i]))) ## 
       { 
       sum += Integer.parseInt(args[i]); 
       } 
      } 

      System.out.println("Addition is: "+sum); 
     }else if(args[Last].equals(method[1])) 
      { 
       int minus = 0; 
       for(int i=0; i < args.length-1; i++) 
       { 

        if(i==0){ 
        minus = Integer.parseInt(args[0]); 
        System.out.println("in if: "+minus); 
        }else{ 
         System.out.println("in else "+minus); 
         minus -= Integer.parseInt(args[i]); 
        } 

       } 
       System.out.println("Substraction is:"+minus); 
      }else if(args[Last].equals(method[2])) 
       { 
        int mul = 1; 
        for(int i=0; i < args.length-1; i++) 
        { 
         mul *= Integer.parseInt(args[i]); 
        } 
        System.out.println("Multiplication is:"+mul); 
       } 
    } 
    } 
+0

最後の引数は「追加」または「0」となっていますか?どちらの場合でも、 'method'配列はあなたにとって大きな利益をもたらすようには見えません。それは' args [last] .equals( "add") 'です。 –

+0

OPをより分かりやすくするために、文字列配列に最後の要素(文字列always)以外の数値のみが含まれるようにする方法を知りたいと考えています。 – Aman

+0

Anjaliは、配列に有効な数値が含まれていないという情報を取得したときに、何をしたいのかを知りたいだけです。 – Aman

答えて

-1

Java Regexクラスを使用して検証を行うことができます。テストするのに役立つ例を以下に示します:

package com.grsdev.stackoverflow.question170919.pack01; 

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class TextNumberValidation { 

    public static void main(String[] args) { 


     String [] array={"1","23","321","add"}; 

     String arrayStr=""; 

     for(int i=0;i<array.length-1;i++){ 
      arrayStr+=array[i]; 
     } 

     Pattern pattern=Pattern.compile("\\D+"); 

     Matcher matcher = pattern.matcher(arrayStr); 

     if(matcher.find()){ 
      System.out.println("given arguments has something other than numbers : "+matcher.group()); 
     }else{ 
      System.out.println("all arguments are numbers"); 
     } 

    } 

} 
関連する問題