私はJavaでの1つの演習で助けが必要です、私はこのエラーに多分2時間行き詰っています。どんな助けでも素晴らしいでしょう。
Exception in thread "main" Java.util.InputMismatchException
at Java.util.Scanner.throwFor(Scanner.Java:909)
at Java.util.Scanner.next(Scanner.Java:1530)
at Java.util.Scanner.nextInt(Scanner.Java:2160)
at Java.util.Scanner.nextInt(Scanner.Java:2119)
at prodavnica.Prodavnica.main(Prodavnica.Java:60)
Java Result: 1
package prodavnica;
public class Proizvod {
private String ime_proizvod;
private static int cena;
public Proizvod(String ime_proizvod, int cena) {
this.ime_proizvod = ime_proizvod;
this.cena=cena;
}
public String getIme_proizvod() {
return ime_proizvod;
}
public void setIme_proizvod(String ime_proizvod) {
this.ime_proizvod = ime_proizvod;
}
public static int getCena() {
return cena;
}
public static void setCena(int cena) {
Proizvod.cena = cena;
}
public void pecatiPodatoci(){
System.out.println("Ime: "+ime_proizvod+" Cena: "+cena);
}
}
そして:
package prodavnica;
import Java.util.Scanner;
public class Prodavnica {
private String ime_prodavnica;
private Proizvod proizvodi[]=new Proizvod[20];
public Prodavnica(String ime_prodavnica) {
this.ime_prodavnica = ime_prodavnica;
}
int br=0;
public void dodadiProizvod(Proizvod p){
proizvodi[br]=p;
br++;
}
public Proizvod najskapProizvod(){
Proizvod max=proizvodi[0];
for(int r=0;r<proizvodi.length;r++){
if(max.getCena()<proizvodi[r+1].getCena()){
max=proizvodi[r+1];
}
}
return max;
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Prodavnica pro1=new Prodavnica("Tinex");
int n;
System.out.println("Vnesete kolku proizvodi ke stavite: ");
n=input.nextInt();
String imer = input.nextLine();
int cenar = input.nextInt();
pro1.dodadiProizvod(new Proizvod(imer, cenar));
System.out.println("Ime-pr: "+pro1.proizvodi[0].getIme_proizvod()+" Cena= "+pro1.proizvodi[0].getCena());
}
}
入力できませんProizvodクラスの変数「proizvodi」の文字列「imer」または整数「cenar」。
何か助けは?このエラーが発生する理由ありがとう!
この例外はスキャナーによってスローされ、取得したトークンが予期されるタイプのパターンと一致しないか、またはトークンが予期されるタイプの範囲外であることを示します。
String imer = input.next();// Use for String Input
input.nextLine();//Use for next line of input
int cenar = input.nextInt();
Imerまたはcenarに到達する前に、intを挿入する必要があります。
n=input.nextInt();
この行は何も実行していないようです。削除するか、imerまたはcenarの値を入力する前に数値を入力してください。