質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

解決済

string型とstring型で条件分岐をしたいが想像通りにいかない

kunn
kunn

総合スコア2

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

1回答

0グッド

0クリップ

325閲覧

投稿2022/12/08 19:40

編集2022/12/08 19:55

前提

スペースと数字が入った二桁の文字列を一桁目にスペースがあったら右を一桁目に数字が入っていたらすべての文字列を整数型に変換するコードを書いていているのですがうまくいきません。
###希望してる結果
結果的に例えば、
" 2"の場合⇒2のint型
"12"の場合⇒12のint型など、
スペースを除いた数字の文字列をint型に変換したいです。

発生している問題・エラーメッセージ

エラーメッセージ java.lang.NumberFormatException: For input string

該当のソースコード

java

ソースコード import java.util.Scanner; class test { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String str = scan.nextLine(); String substr = str.substring(0, 1); String substr1 = str.substring(1, 2); int number = 0; if(substr == " ") { try{ number = Integer.parseInt(substr1); } catch (NumberFormatException ex){ ex.printStackTrace(); } }else { try{ number = Integer.parseInt(str); } catch (NumberFormatException ex){ ex.printStackTrace(); } } System.out.println(number); } }

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/12/08 19:47依頼された後にこの質問は修正されています

こちらの質問が他のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

回答1

0

ベストアンサー

コードが期待どおり動かない原因は ==equals() の違いだと思いますが、そもそも
scan.nextInt()number = Integer.parseInt(str.trim()); でいいんじゃないでしょうか。

投稿2022/12/08 20:30

編集2022/12/08 20:33
int32_t

総合スコア17087

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

kunn

2022/12/08 23:45

回答ありがとうございます。 回答者通りにやったところうまく行くようになりました。 こんな簡単な方法があるとは、、 ありがとうございます。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。