▼何をしたいのか
入力値のString変数から文字数を取得して、画面に表示したい。
入力値 あ 期待値 1
入力値 ABC 期待値 3
入力値 Java 期待値 4
▼何が起こっているのか
1 3 4が3回表示されうまくいかない
▼現状の認識・調べたこと
まとめて出力する方法がありそうだが調べてもわからなく困っている
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String text = scan.next(); String a = "あ"; String b = "ABC"; String c = "Java"; System.out.println(a.length()); System.out.println(b.length()); System.out.println(c.length()); } }
▼ソースコード ※スレッドに添付
実際に表示されたものを提示してください。
文章だけではわかりません
こちらが実際に表示されました。
1
3
4
1
3
4
1
3
4
再現しません。どのような環境でどうやって実行していますか?
上記の通りです
どこに環境が書いてあり、どこに方法が書いてありますか?
あなたの額ですか?
日本語が得意でないなら Stack Overflow の方が良いかもしれません。
3回実行したんじゃないですかね。他に言えることはないです。
https://wandbox.org/permlink/LP7Cug9Dg3moEvng
※Wandboxは"prog.java"としてコンパイルするため、クラス名を"prog"に変更しています。
上記の通り、1 3 4が1回のみで再現性がありません。コードが異なるか、質問者の環境でのみ発生する可能性があります。OS、JDKの種類と正確なバージョン、実行した環境(ターミナル上やIDE上など)、標準入力の正確な内容(必ずコピペすること)、出力されるときの正確な内容(必ずコピペすること)、コマンドの内容(必ずコピペすること)、その他思いつく限りの特殊な事情等の全てを「質問」に追記してください。他の人の環境でも再現できない場合は、あなたのパソコンのどこかが壊れているぐらいしか可能性がなくなります。
このコードで、あは1文字、ABCは3文字、Javaは4文字と出力させる方法はないのでしょうか?
私のところでは方法がありますが、あなたのところではないんじゃないですか、としか。
text を使っていない所から, 恐らく 3 つの入力パターン("あ","ABC","Java")をテストするバッチがあり, それによってこのコードが 3 回実行されているのではないでしょうか.
試しに,
System.out.println(c.length());
の次に
System.out.println(text);
を追加して, 実行結果を教えて頂けますか.
質問は編集できるのでこちらのコメントに対しては基本的に質問を編集して返してください
3回表示される件はどうなったのでしょうか?
回答1件
あなたの回答
tips
プレビュー