2016-12-10 2 views
0

文字列とその内容をスキャンします。文字列内に文字があればエラーメッセージを返したい次に例を示します。int a = myFunction( "123");では、 "123"を保存しますが、ユーザーがint a = myFunction( "12s32")のような操作をしようとすると、文字列に文字があるため、エラーを返す必要があります。 - あなたは、非除外したい場合があり特定のコンテンツの文字列をスキャンする

public class Parseint { 
    public static int parseInt(String str) { 
     if (str == null || str.isEmpty()) { 
      System.out.println("Der String enthaelt keine Zeichen"); 
      return -1; 
     } else { 
      int sum = 0; 
      int position = 1; 
      for (int i = str.length() - 1; i >= 0; i--) { 
       int number = str.charAt(i) - '0'; 
       sum += number * position; 
       position = position * 10; 
      } 
      return sum; 
     } 
    } 

    public static void main(String[] args) { 
     int a = parseInt(""); 
     System.out.println(a); 
    } 
} 
+0

ですから、手紙を除外するに働くだろうことを示唆している。このリンクでのようにキャッチ:これは私がこれまでに得たものです数字。あなたは条件文を使う方法を知っています:if(){ return <例外値>; '(' else'を使う必要はありません。この後(初期):入れ子の深さ/くぼみが減少します。あなたは 'char'リテラルをどのように表し、それを使って算術演算を行うかを知っています:' str.charAt(i) - '0' '。あなたも比較をすることができます。 – greybeard

+0

返信いただきありがとうございます!私の考え方は、「無効な」入力を検索するfor-loopを作成することです。私の場合は数字以外はすべて。だから私はこの状況に固執し、私はこれを実装する方法を知らない。すべての禁止された手紙の比較を行うべきですか?あるいは、引数に数字だけが含まれていて何もない場合は、私の関数を実行する必要がありますか? – ethanqt

+0

あなたは達成すべきものをコードに書いておくべきです。あなたは、有効な入力に多くの時間を費やしていると仮定する必要があります。有用な処理を続行し、そうでない場合は、_ why_の有意義な表示をしてください。 – greybeard

答えて

関連する問題