2017-02-03 8 views
-6

AndroidアプリでLogic Javaに少し問題があります。私は、この状態で配列をフィルタリングする必要があります。Javaでnまたはn以外の数字を持つ数値

Category A = 0 , B = 1 , C = 2 , D = AllNumber except 1 and 2

これは、ボタンのOnClickListenerです:D値を取得する方法

buttonAll.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      try { 
       filteredSubGroupList = (ProgramMethod.filterArray(subGroupList, "main-group-nr", "" ,false)); 
       genericAdapterSubCategory.notifyDataSetChanged(); 
       genericAdapterArticle.notifyDataSetChanged(); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 
    }); 

    buttonFood.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      try { 
       filteredSubGroupList = (ProgramMethod.filterArray(subGroupList, "main-group-nr", Integer.toString(1) ,true)); 
       genericAdapterSubCategory.notifyDataSetChanged(); 
       genericAdapterArticle.notifyDataSetChanged(); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 
    }); 

    buttonBeverage.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      try { 
       filteredSubGroupList = (ProgramMethod.filterArray(subGroupList, "main-group-nr", Integer.toString(2) ,true)); 
       genericAdapterSubCategory.notifyDataSetChanged(); 
       genericAdapterArticle.notifyDataSetChanged(); 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 
     } 
    }); 

    buttonOther.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      // D Value In here 

     } 
    }); 

?私はthisthisを読んでいますが、解決策はありません。事前にありがとうございます。

+0

私は私はあなたがそれを得たD値を –

+0

が、私は[MCVE]あなたの問題との明確な説明のしないと私のコード –

+0

得ることができる方法を知りたいcricket_007 @任意のフィルタリング –

答えて

0

あなたはすべてのQuestiとuderstandないので、私は私の悪い英語のためにごめんなさい「D値を取得」について尋ねているのか理解していませんに。すべてのためのおかげで示唆と答え、

I/System.out: 3 
I/System.out: [{"zknr":98,"bezeich":"CIGARETTE","fibukonto":"14","departement":1,"betriebsnr":98,"main-group-nr":3},{"zknr":700,"bezeich":"DISCOUNT","fibukonto":"00","departement":1,"betriebsnr":0,"main-group-nr":30}] 

私がすべては私の悪い英語のため申し訳ありませんが、再び1 & 2.除いint型を取得しますだ:私は

for(int i=3; i<filteredSubGroupList .length(); i++){ 
       try { 
        filteredSubGroupList = (ProgramMethod.filterArray(subGroupList, "main-group-nr", String.valueOf(3), false)); 
       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 
      } 

がLOGCATこのコードで私の問題を解決してきました。

2

送信したリンクに基づいて、特定の条件に一致する乱数を生成するように見えます。これを行うには、あなたに適した番号が得られるまで乱数を生成し続ける必要があります。

例:(あなたが述べた条件付き)

Random random = new Random(); //your random number generator 

int value; 
int max = 10; //max value you want to get, exclusive 
int min = 1 //minimum value you want to get, inclusive 

do 
{ 
    value = random.nextInt(max - min) + min; //generates a random number between min and max 
} 
while(value == 1 || value == 2); //will restart if value is 1 or 2, as you asked 
+0

D値は1と2以外の任意の数にすることができるので、私は最大値が必要ないと思うか、またはunlimeted番号で最大値を設定できますか? –

+0

@Mario Integer.MAX_VALUEを使用できます –

+0

@MarioMargoPradipta "無制限"はありません。 Javaの整数は 'Integer.MAX_VALUE'と' Integer.MIN_VALUE'の間にある必要があります。あなたはそれがあなたが探しているものだと確信していますか?もしそうなら、minとmaxをそれらの2つの値に置き換えますが、設計上、これはあまり意味がありません。 – Winter

0

はあなただけで新しいものを作成するの直接リストをフィルタリングのいずれかにいくつかの機能のリストと可用性の中にいくつかのカテゴリーのクラスを持っていると仮定すると... 。

List<Category> list = new ArrayList<Category>(); 

... 
List<Category> filtered = new ArrayList<Category>(); 
for (Category c : list) { 
    if (c.a == 0 && c.b == 1 && c.c == 2 && !(c.d == 1 || c.d == 2)) { 
     filtered.add(c); 
    } 
} 

それとも、私はあなたが

+0

'D値を取得しています 'という意味ですが、どのようにしてn個の数字以外の数字を得ることができるのですか? –

+0

もう一度、" n個の数字 "とは何かを意味しています –

+0

-.-私の条件を見てください。 1と2を除いた数。私はどのようにその番号をフィルタリングすることができますか?(0,4,5,6,7、n、n、n、n以外、1と2を除く) –

関連する問題