-1
votes

Difficulté à initialiser les variables locales / classes

public class ClassName {

   public static void main(String[] args) {
   //code: depending on user input runs Methodname1();
   }

      public static void MethodName1 {

        double kgs;
        double totalIn;

        //code: do/while try/catch etc.


        double ImpToMetBmi;
        double InchToMtrH;

        InchToMtrH = totalIn*2.54/100;

        ImpToMetBmi = (kgs/(InchToMtrH*InchToMtrH);

        System.out.printf("\nYour BMI is: %.3f\n" ,ImpToMetBmi);
      }
}
Really sorry for the long and badly written code. I think all code/layout must be seen to figure out the problem.Errors I'm getting:
Exception...Uncompilable source code - variable totalIn might not have been initialized
Exception...Uncompilable source code - variable kgs might not have been initializedThis formula worked before I inserted do/while try/catch statements for exception handling.
I have spent hours reading about declaring and initilizing variables, local and class variables. I've tried a few different ways but nothing I try fixes the problem.
I'm confused as to what is causing this and how to fix it. I'd like to figure this out and understand the solution.
Where do I initialize 'totalIn' and 'kgs'? and What to I initialize them as?
These varialbles are populated by values inputted by the user through Scanner if that makes any difference.
Please help!

3 commentaires

Pourriez-vous partager des détails supplémentaires sur comment avez-vous initialisé les variables dans le code. Selon ce que je vois, c'est que votre variable n'aurait peut-être pas été initialisée lorsqu'il était utilisé.


J'ai seulement déclaré les variables et la formule travaillée jusqu'à ce que je insère faire / tandis que vous puissiez essayer le code. Ensuite, j'ai eu les erreurs d'initialisation. Je ne sais pas où ou quoi pour les initialiser comme. Tout ce que j'essaie, je reçois encore plus d'erreurs. J'espère que cela à du sens. Je suis nouveau à Java et très confus -Obvement :)


Désolé, c'était une erreur de copie et de coller. Mon code dans NetBeans est «Public Static Void MethodName1 () {'


3 Réponses :


0
votes

double value1 = 123.1;
double value2 =  24
MethodName1(value1, value2)


2 commentaires

Pourquoi avez-vous besoin de mettre les paramètres transmis aux variables locales? Vous pouvez les utiliser directement!


J'ai essayé certaines de vos suggestions. Je suis maintenant dans une situation où le programme ne sera même pas exécuté. J'essayais de chercher de l'aide sans afficher tout mon code afin que les gens n'auraient pas à la lire (je suis débutant et je pense que c'est mal écrit -Il est mon premier programme!). Je vais écraser le message d'origine avec le code complet car il est plus compliqué que je pensais d'abord. Espérons que vous aiderez toujours même si le code est long et non professionnel: 0



0
votes

Déclaration de MethodName1 est fausse. Vous avez manqué la section des arguments. Changez-le à Public Static Void MethodName1 () .


1 commentaires

Désolé, c'était une erreur de copie et de coller. Mon code dans NetBeans est «Public Static Void MethodName1 () {'



0
votes

Voici un exemple qui explique la cause que vous obtenez et pourquoi vous obtenez cela -

public static void main(String args[]){
  Scanner sc = new Scanner(System.in);
  double kgs = sc.nextDouble;
  double totalIn = sc.nextDouble();
}

public void yourMethod(double kgs, double totalIn){
  // do whatever you want with above passed variables

}


2 commentaires

Merci @ashutosh Kumar Sharma Cela a travaillé pour moi: Double KG statiques; double statique totalin; Public statique Void Main (String args []) {Scanner SC = Nouveau scanner (System.in); kgs = sc.nextdouble; totalin = sc.nextdouble (); } Je suis toujours un peu sûr pourquoi je n'ai eu que de déclarer les variables et de les initialiser? Ils initialisent automatiquement peut-être?


Si vous définissez une variable au niveau de la classe, elle sera initialisée avec sa valeur par défaut, même si cela ne se produit pas pour les variables inférieures de la méthode variable. Pour votre question, vous devez vous mettre à jour des variables à la valeur que vous souhaitez attribuer.