2016-05-01 15 views
-1

私のタイトルは、私が言うことをしようとしています正確に何を説明している場合、私はわからない - しかし、ここで私がやろうとしていますされているもの:Javaで宣言されたクラスからプリミティブの型を取得するには?

私はこのクラスの番号を持っている:

public class Numbers{ 

    private int Integers; 
    private float Floaters; 

    public Numbers(String xUserInput){ 

     if (xUserInput.matches("[0-9]+")) { 

      System.out.println("Integer"); 
      try{ 
       this.setIntegers(Integer.parseInt(xUserInput)); 
      } catch (NumberFormatException e) { 
       System.out.println(xUserInput + " is not of Integer type!"); 
      } 

     } else if (xUserInput.matches("[0-9]*[.]{1}[0-9]+")) { 

      System.out.println("Float"); 
      try{ 
       this.setFloaters(Float.parseFloat(xUserInput)); 
      } catch (NumberFormatException e) { 
       System.out.println(xUserInput + " is not of Float type!"); 
      } 

     } else { 

      System.out.println("Invalid Input!"); 
     } 
    } 

    public int getIntegers() { 
     return this.Integers; 
    } 

    public void setIntegers(int integers) { 
     this.Integers = integers; 
    } 

    public float getFloaters() { 
     return this.Floaters; 
    } 

    public void setFloaters(float floaters) { 
     this.Floaters = floaters; 
    } 

今、メインで - 私はすべてのユーザー入力をArrayListに追加しますが、次に配列を2回、すべての整数で1回、次にすべての浮動小数点で印刷します。

どのようにプリミティブ型に到達しますか?どこに間違っているのか教えてください。

PS:私は

for(Numbers n : numberList) { 

     System.out.println(n.getClass().getSimpleName()); 
    } 

を試してみました...しかし、私が得るすべては "数字"。

+0

「プリミティブタイプ」とはなんですか? "Numbers"の代わりに返される正確なStringは何ですか? –

+0

@Jjお返事ありがとうございます。そのエントリが保存された内容に応じて、 "int"または "float"を取得したいと考えました。 –

+0

あなたが投票したら、私はそれから何かを学ぶことができるように短いコメントを書くために時間をかけてください。 –

答えて

0

クラス名は常にループで表示されます。あなたが望むものは次のとおりです:

// first loop 
for(Numbers n : numberList) { 
    System.out.println(n.getIntegers()); 
} 

// second loop 
for(Numbers n : numberList) { 
    System.out.println(n.getFloaters()); 
} 
+0

値は出力されますが、タイプは出力されません。他のタイプは0と表示されます。正確には私が望むものではありません。 –

+0

したがって、私が正しく理解している数値は、intまたはfloatのいずれかで、その値だけを表示したいのですか? – alpert

+0

型は値自体ではなく、intまたはfloatです。 –

関連する問題