66641


以下のプログラムで体重を入力する際、例えば「〜kg」と入力した場合、その後の判定で単位を除いた数値のみを判定の材料に使いたいため、以下のコードを書きましたが、エラーが出ました。  
どうすれば数値のみを抽出して、かつDouble型変数に代入できますか？

[code]

    import java.util.*;
    public class Sample41 {
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            System.out.println("あなたの体重はどれくらい？:");
            String k = sc.next();
            String intk=k.replaceAll("[^0-9]","");
            Double j=Double.parsedouble(intk);
    
            if (j<20){
                System.out.println("そんなわけないでしょ");}
            else{
                System.out.println("最低それくらいはあるよね");}
    
        }
    }
    
[/code]

エラーは以下の通りです。

[code]

    Sample41.java:13: エラー: シンボルを見つけられません
        Double j=Double.parsedouble(intk);
                       ^
      シンボル:   メソッド parsedouble(String)
      場所: クラス Double
    エラー1個
    
[/code]


CC BY-SA 4.0
2020-05-15T11:02:58.417
66638
2020-05-20T00:00:46.393
2020-05-15T11:33:43.843
3060
39688
question
java
入力した文字列から数値のみを取り出すやり方を教えて下さい。

[code]

    Double.parsedouble(intk);
    
[/code]

ではなくて、

[code]

    Double.parseDouble(intk);
    
[/code]

（case-sensitive）か、

[code]

    Double.valueOf(intk);
    
[/code]

ではないでしょうか。


CC BY-SA 4.0
2020-05-15T11:41:22.943
66641
2020-05-15T11:41:22.943
7290
66638
answer


プログラムに直接影響ありませんが、ご要望のDouble型に変換する処理を行う場合、小数点への配慮が必要でしょう。

現 在： `String intk=k.replaceAll("[^0-9]","");`  
修正後： `String intk=k.replaceAll("[^.0-9]","");`

体重はマイナスがあり得ないならプラスもなくてよさそうです。但し小数点が複数回入力されたらやっかい。


CC BY-SA 4.0
2020-05-19T13:49:33.197
66781
2020-05-20T00:00:46.393
2020-05-20T00:00:46.393
3060
29348
66638
answer