J'écris un code Java par lequel je dois calculer une sommation en utilisant 2 valeurs d'entrée données. Je crée une méthode dans une classe Sum. Le nom de la méthode est totalVal. Maintenant, dans la classe principale, je veux l'appeler dans un cas de commutation statement.I je décris mon code dans le Way- suivantAppel d'une méthode dans la classe principale ne fonctionnant pas avec Java
Au début, je l'ai créé une classe enum avec deux valeurs constantes,
public enum Product {
FIRST(400), SECOND(500);
private int value;
private Product(int value){
this.value=value;
}
public int getValue() {
return value;
}
}
maintenant Dans la classe model j'appelle cette classe enam et crée une autre valeur nommée num et set getter et setter pour cela.
public class Model {
private Product prod;
private int num;
public Product getProd() {
return prod;
}
public void setProd(Product prod) {
this.produkte = produkte;
}
public int getNum() {
return num;
}
public void setNume(int num) {
this.prod = prod;
}
}
Maintenant, je créer une autre classe pour la méthode de calcul
public class Sum{
public int totalVal(Model mod){
int sum = mod.getNum()*mod.getProd().getValue();
return sum;
}
}
maintenant dans la principale méthode que je veux mettre en valeur de num et mettre en œuvre une déclaration de cas de commutation, de sorte que lorsque l'utilisateur choisir d'abord, il sera donne un résultat avec multiplier par la valeur num. d'autre part, si l'utilisateur choisit SECOND, il donnera un résultat avec multiplier par la valeur num. mais j'ai un problème dans la méthode de cas de commutation, il montre une erreur d'exception de poi nulle. Je l'ai décrit plus clairement dans le code-
public static void main(String[] args) {
Scanner sc1 =new Scanner(System.in);
Scanner sc2 =new Scanner(System.in);
System.out.println("1\tFirst: 400\n2\tSecond: 700 ");
System.out.println("Please choose your 1 for Compact and 2 for product");
int swichValue=sc1.nextInt();
Model md=new Model();
System.out.println("enter number");
md.setNum(sc2.nextInt());
switch(swichValue){
case 1:{
Sum tot=new Sum();
int res=Product.FIRST.getValue()*tot.Sum(md); //having problem here I am not sure how to call the method here.
System.out.println("total value is : "+res);
break;
}
case 2:{
int res=Product.SECOND.getValue()*tot.Sum(md);// problem
System.out.println("total value is : "+res);
break;
}
}
}
tot.Sum -> tot.totalVal (mod) et qu'est-ce que "mod"? ne devrait pas être "md" là-bas? – iMysak
@iMysak J'ai modifié. mais a toujours l'erreur java.lang.NullPointerException – hina
Montrez-nous la trace de la pile pour le NPE. Il vous dira sur quelle ligne il s'est produit, ce qui aide tellement en essayant de le comprendre ... – AHungerArtist