Eclipse не показывает вывод из нескольких методов? - PullRequest
0 голосов
/ 14 мая 2018

Как довольно новый программист, который только начинает изучать Java. Я подумал, что лучше начать проект, чем калькулятор? Проблема, с которой я столкнулся, заключается в печати вывода за пределы основного метода, как показано ниже.

import java.util.Scanner;

public class Calculator extends Calculator_Assets {

public static void main(String[] args) {
    System.out.println("Choose One!");

    System.out.println("1. Addition\n");

    System.out.println("2. Subtraction\n");

    System.out.println("3. Multiplication\n");

    System.out.println("4. Division\n");

    //prints out the users input, not their mathematical selection
String word = newInput.nextLine();
if (word.equals("1")) 
        System.out.println("You have chosen Addition!");


else if (word.equals("2"))          
        System.out.println("You have chosen Subtraction!");
else if (word.equals("3"))
        System.out.println("You have chosen Multiplication!");
else if (word.equals("4"))
        System.out.println("You have chosen Division!");
    //Break here, to input integers




}
public static void operands() {
    String num1 = newInput.nextLine();
    String num2 = newInput.nextLine();
    System.out.println("Enter two numbers to add:");
}
}   

Вывод «Введите два числа для добавления:» не появляется в консоли.

PS: Как мне улучшить структуру кода, чтобы он выглядел аккуратнее? Какой отраслевой стандарт?

Ответы [ 2 ]

0 голосов
/ 14 мая 2018

Улучшение для вас может быть таким.Код все еще не очень хорош (как я использовал 2 раза, если (выберите == 1/2/3/4), хотя в принципе это не нужно (вы можете вставить его один раз). Но чтобы сохранить структуру, я сделал этотаким образом.

import java.util.*;


class test{
static Scanner sc = new Scanner(System.in);

public static void main(String[] args) {

    System.out.println("Choose\n 1. Addition\n 2. Subtraction\n 3. Multiplication\n 4. Division\n");
    int choose = sc.nextInt();



    if (choose == 1) 
    { 

            System.out.println("You have chosen Addition!");
    }

    if (choose == 2) 
    {      

            System.out.println("You have chosen Subtraction!");
    }

    if (choose == 3)
    {

            System.out.println("You have chosen Multiplication!");
    }

    if (choose == 4)
    {

            System.out.println("You have chosen Division!");
    }

    operands(choose);

}

public static void operands(int choose) {
    System.out.println("Enter two numbers to add:");
    int number1 = sc.nextInt();
    int number2 = sc.nextInt();

    if (choose == 1) { 

            int answer = number1 + number2;
            System.out.println(answer);
    }

    if (choose == 2)   {    
            int answer = number1 - number2;
            System.out.println(answer);
    }

    if (choose == 3) {
            int answer = number1 * number2;
            System.out.println(answer);
    }

    if (choose == 4) {
            int answer = number1 / number2;
            System.out.println(answer);
    }
}   

}

0 голосов
/ 14 мая 2018

Прежде всего, я не вижу, чтобы вы вызывали метод в main. операнды (); // это вызовет метод

Во-вторых, вы можете захотеть взять строку «слово» в метод. Используйте это вместо операндов ();

operands(word); //this says "run method operands, and make the stored variable word also useful for this new method"

и затем вместо общедоступных статических операндов void () {

public static void operands(String word) { //we have the input word from our main, and now in the parantheses we can put how we would like to call this variable (and declaring it) , you can name it different than in the main 
...