Coding Horror, be scared

Java methods

Im trying to make a simple Int calc with methods, but something is wrong with the variables "resultado, resultadod, resultados and resultador" which are the results from methods. This is not working.

CalInt.java
package calint; import java.util.Scanner; public class CalInt { public static void main(String[] args) { // TODO code application logic here int no1,no2,nod1,nod2,nos1,nos2,nor1,nor2,resultado,resultadod,resultados,resultador; Scanner scanner=new Scanner(System.in); System.out.println("Seleccione la opcion que desee: 1=Multiplicar, 2=Dividir, 3=Suma, 4=Resta"); switch(0){ case 1: System.out.println("Ingrese los dos numeros a multiplicar"); no1=scanner.nextInt(); no2=scanner.nextInt(); resultado=0; Multiplicar(no1,no2); System.out.println("El resultado es:" + resultado); break; case 2: System.out.println("Ingrese dividendo y divisor"); nod1=scanner.nextInt(); nod2=scanner.nextInt(); resultadod=0; Dividir(nod1,nod2); System.out.println("El resultado es:" + resultadod); break; case 3: System.out.println("Ingrese los numeros a sumar"); nos1=scanner.nextInt(); nos2=scanner.nextInt(); resultados=0; Suma(nos1,nos2); System.out.println("El resultado es:" + resultados); break; case 4: System.out.println("Ingrese los numeros a restar"); nor1=scanner.nextInt(); nor2=scanner.nextInt(); resultador=0; Resta(nor1,nor2); System.out.println("El resultado es:" + resultador); break; } } public static int Multiplicar(int no1, int no2){ int resultado; resultado=no1*no2; return resultado; } public static int Dividir(int nod1, int nod2){ int resultadod; resultadod=nod1/nod2; return resultadod; } public static int Suma(int nos1, int nos2){ int resultados; resultados=nos1+nos2; return resultados; } public static int Resta(int nor1, int nor2){ int resultador; resultador=nor1-nor2; return resultador; } }package calint;

Reactions 2 reactions

lite20 Ephraim Bilson contributed to this code
2
Assigned the values 'returned' from the functions to your variables.
CalInt.java
@@ -7,39 +7,35 @@
         // TODO code application logic here
         int no1,no2,nod1,nod2,nos1,nos2,nor1,nor2,resultado,resultadod,resultados,resultador;
         Scanner scanner=new Scanner(System.in);
         System.out.println("Seleccione la opcion que desee: 1=Multiplicar, 2=Dividir, 3=Suma, 4=Resta");
-        switch(0){
+        switch(scanner.nextInt()){
             case 1:
                 System.out.println("Ingrese los dos numeros a multiplicar");
                 no1=scanner.nextInt();
                 no2=scanner.nextInt();
-                resultado=0;
-                Multiplicar(no1,no2);
+                resultado=Multiplicar(no1,no2);
                 System.out.println("El resultado es:" + resultado);
                 break;
             case 2:
                 System.out.println("Ingrese dividendo y divisor");
                 nod1=scanner.nextInt();
                 nod2=scanner.nextInt();
-                resultadod=0;
-                Dividir(nod1,nod2);
+                resultadod=Dividir(nod1,nod2);
                 System.out.println("El resultado es:" + resultadod);
                 break;
             case 3:
                 System.out.println("Ingrese los numeros a sumar");
                 nos1=scanner.nextInt();
                 nos2=scanner.nextInt();
-                resultados=0;
-                Suma(nos1,nos2);
+                resultados=Suma(nos1,nos2);
                 System.out.println("El resultado es:" + resultados);
                 break;
             case 4:
                 System.out.println("Ingrese los numeros a restar");
                 nor1=scanner.nextInt();
                 nor2=scanner.nextInt();
-                resultador=0;
-                Resta(nor1,nor2);
+                resultador=Resta(nor1,nor2);
                 System.out.println("El resultado es:" + resultador);
                 break;
         }
     }
@@ -62,5 +58,5 @@
         int resultador;
         resultador=nor1-nor2;
         return resultador;
     }
-}package calint;
+}
package calint;
import java.util.Scanner;

public class CalInt {

    public static void main(String[] args) {
        // TODO code application logic here
        int no1,no2,nod1,nod2,nos1,nos2,nor1,nor2,resultado,resultadod,resultados,resultador;
        Scanner scanner=new Scanner(System.in);
        System.out.println("Seleccione la opcion que desee: 1=Multiplicar, 2=Dividir, 3=Suma, 4=Resta");
        switch(scanner.nextInt()){
            case 1:
                System.out.println("Ingrese los dos numeros a multiplicar");
                no1=scanner.nextInt();
                no2=scanner.nextInt();
                resultado=Multiplicar(no1,no2);
                System.out.println("El resultado es:" + resultado);
                break;
            case 2:
                System.out.println("Ingrese dividendo y divisor");
                nod1=scanner.nextInt();
                nod2=scanner.nextInt();
                resultadod=Dividir(nod1,nod2);
                System.out.println("El resultado es:" + resultadod);
                break;
            case 3:
                System.out.println("Ingrese los numeros a sumar");
                nos1=scanner.nextInt();
                nos2=scanner.nextInt();
                resultados=Suma(nos1,nos2);
                System.out.println("El resultado es:" + resultados);
                break;
            case 4:
                System.out.println("Ingrese los numeros a restar");
                nor1=scanner.nextInt();
                nor2=scanner.nextInt();
                resultador=Resta(nor1,nor2);
                System.out.println("El resultado es:" + resultador);
                break;
        }
    }
    public static int Multiplicar(int no1, int no2){
        int resultado;
        resultado=no1*no2;
        return resultado;
    }
    public static int Dividir(int nod1, int nod2){
        int resultadod;
        resultadod=nod1/nod2;
        return resultadod;
    }
    public static int Suma(int nos1, int nos2){
        int resultados;
        resultados=nos1+nos2;
        return resultados;
    }
    public static int Resta(int nor1, int nor2){
        int resultador;
        resultador=nor1-nor2;
        return resultador;
    }
}
lite20 Ephraim Bilson commented on this code
-1
The problem was that you weren't assigning the value you got back from your functions to the variables. You declare the variables inside the functions and therefor you can not access variables with the same name outside of it. This concept is called "Scope". If you don't understand scopes, a quick google search on "Java Scopes" should help. (scopes work the same in most languages, including JavaScript; so you may resource talking about that too).

Comment on this code:

Please Login or Register to leave a comment.