[解決済み] error: 非互換の型。文字列はint型に変換できません
質問
私はプログラミングの初心者で、Javaについても非常に初心者なので、この質問(そして私の他のすべての間違い)は、経験者の方にとっては非常に明白なことだと思います。私は明らかに自分が何をしているのか分かっていません。 私の課題は、PythonのコードをJavaに変換することでした。以下は私のコードです。
私のエラーコードは2つです。
Assignment1.java:37: error: incompatible types: String cannot be
converted to int
response = reader.nextLine();
Assignment1.java:38: error: incompatible types: int cannot be converted to String
num = Integer.parseInt(response);
明確にするために、私はJGraspを使用していますが、そうでない場合もあります。
import java.util.Scanner;
public class Assignment1 {
public static void main(String[] args) {
int num, response, min, max, range, sum, count, avg;
Scanner reader = new Scanner(System.in);
String reportTitle;
//title
System.out.println();
System.out.println("Enter a title for this report");
reportTitle = reader.nextLine();
System.out.println();
//data input
System.out.println("Enter a series of numebr, ending with a 0");
num = 0;
sum = 0;
response = 1;
count = 0;
max = 0;
min = 0;
range = 0;
while (true)
{
if (response < 1)
{
System.out.println("End of Data");
break;
}
System.out.println("Enter number => ");
response = reader.nextLine();
num = Integer.parseInt(response);
sum += num;
count += 1;
if (num>max)
{
max = num;
}
if (num<min)
{
min = num;
}
}
//crunch
avg = sum / count;
range = max - min;
//report
System.out.println();
System.out.println(reportTitle);
System.out.println();
System.out.println("Sum: => "+sum);
System.out.println("Average: => "+avg);
System.out.println("Smallest: => "+min);
System.out.println("Largest: => "+max);
System.out.println("Range: => "+range);
}
}
解決方法は?
response
は
int
というメソッドがあり
nextLine()
の
Scanner
で表される線が返されます......。
String
. を割り当てることはできません。
String
を
int
- はどのように行うのでしょうか?A
String
は何でもありです。
"some text"
から
" a 5 0 "
. 1つ目および/または2つ目のものをどのように
int
?
あなたが望んでいたのは、おそらく
System.out.println("Enter number => ");
response = reader.nextInt();
// notice this ^^^
の代わりに
System.out.println("Enter number => ");
response = reader.nextLine();
// instead of this ^^^^
その
nextInt()
メソッドは、例えば数字を表す数字や文字の列を期待します。
123
,
-50
,
0
などなど...。
しかし、1つの重大な問題に注意する必要があります。
nextLine()
と
nextInt()
は好ましくない結果につながる可能性があります。例えば
Scanner sc = new Scanner(System.in);
String s;
int a = sc.nextInt();
s = sc.nextLine();
System.out.println(s);
印刷する
何もない
というのは、数字を入力するときに、たとえば
123
と
ヒット
入力
を入力すると、さらに改行文字が入力されます。すると
nextLine()
が発火し
は、最初に遭遇する改行文字またはファイル終端文字までのすべての文字をスキャンします。
であるらしい。
まだある
で消費されない。
nextInt()
. これを修正し、さらに詳しく読むには
こちら
関連
-
[解決済み】不正な反射的アクセスとは?
-
[解決済み】非閉鎖文字リテラルエラー
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】Mockitoでモックからチェックされた例外を投げる
-
[解決済み】Javaを包含するクラスではないのか?
-
[解決済み】Java LinkedListでNodesを使用する
-
[解決済み] [Solved] java.lang.NoClassDefFoundError: クラスXXXを初期化できませんでした。
-
[解決済み】intがnullであるかどうかを確認する方法
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] intからStringへの変換方法を教えてください。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Android Studio クラス org.codehaus.groovy.runtime.InvokerHelper を初期化できませんでした。
-
[解決済み】「'void' type not allowed here」エラーの原因とは?
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み] メソッドがスーパータイプのメソッドをオーバーライドまたは実装していない - Overrideの場合
-
[解決済み】非閉鎖文字リテラルエラー
-
[解決済み] intellijが自動配線リポジトリにタイプのBeanが見つからないと不正確な発言をする件
-
[解決済み】Ubuntu: OpenJDK 8 - パッケージを見つけることができません。
-
[解決済み】Java: GZIPInputStreamの作成に失敗しました。GZIP形式ではありません
-
[解決済み】CreateProcess error=2, The system cannot find file specified.
-
[解決済み】スキャナはnext()またはnextFoo()を使用した後、nextLine()をスキップしていますか?)