Вызов метода Void для печати целого числа в виде текста

#java #methods #invoke #void

#java #методы #вызвать #void

Вопрос:

Я не понимаю, что указывать в параметре oneDigit метода и что указывать в основном методе, где я вызываю oneDigit method , чтобы распечатать четырехзначное целое число 4321 в словах (четыре три два один). Любая помощь будет высоко оценена!

 import javax.swing.JOptionPane;

public class ToEnglish {

   public static void oneDigit(int n1, int n2, int n3, int n4){

   }//end oneDigit

    public static void main(String[] args) {

      int number;
      int n1;
      int n2;
      int n3;
      int n4;
      String input;

      JOptionPane.showMessageDialog(null,
                                   "Welcome to the ToEnglish program by Josh Higgins!",
                                   "ToEnglish",
                                   JOptionPane.PLAIN_MESSAGE);
      input = JOptionPane.showInputDialog(null,
                                               "Please enter a four-digit integer",
                                               "ToEnglish",
                                               JOptionPane.QUESTION_MESSAGE);
      number = Integer.parseInt(input);

      //breaking integer up into 4 digits
      n1 = number / 1000;
      int n1Remainder = number % 1000;
      n2 = n1Remainder / 100;
      int n2Remainder = number % 100;
      n3 = n2Remainder / 10;
      int n3Remainder = number % 10;
      n4 = number % 10;

      if
      (number < 0000 || number > 9999) { 
         System.out.println("Invalid input");
      }
      else {
      n1 = number / 1000;
      n1Remainder = number % 1000;
      n2 = n1Remainder / 100;
      n2Remainder = number % 100;
      n3 = n2Remainder / 10;
      n3Remainder = number % 10;
      n4 = number % 10;
      }

      if ((number > 0000) amp;amp; (number < 9999)) {
      System.out.println(n1   " "   n2   " "   n3   " "   n4   " ");
      }
      else {
      System.out.println("Invalid input");
      }

      //invoking oneDigit Method in order to print the four digit integer in text
      oneDigit(n1);
      oneDigit(n2);
      oneDigit(n3);
      oneDigit(n4);

 System.out.println("All done for now!");
      System.exit(0);

   }//end of the main method

}//end of the class
 

@Vishal, это мой улучшенный код, но когда я его запускаю, я получаю только 4 3 2 1, а не текст. Есть предложения?

 import javax.swing.JOptionPane;

public class ToEnglish {

   public void oneDigit(int digit){

   }//end oneDigit

    public static void main(String[] args) {

      int digit=0;
      int number;
      int n1;
      int n2;
      int n3;
      int n4;
      String input;

      JOptionPane.showMessageDialog(null,
                                   "Welcome to the ToEnglish program by Josh Higgins!",
                                   "ToEnglish",
                                   JOptionPane.PLAIN_MESSAGE);
      input = JOptionPane.showInputDialog(null,
                                               "Please enter a four-digit integer",
                                               "ToEnglish",
                                               JOptionPane.QUESTION_MESSAGE);
      number = Integer.parseInt(input);

      //breaking integer up into 4 digits
      n1 = number / 1000;
      int n1Remainder = number % 1000;
      n2 = n1Remainder / 100;
      int n2Remainder = number % 100;
      n3 = n2Remainder / 10;
      int n3Remainder = number % 10;
      n4 = number % 10;

      if
      (number < 0000 || number > 9999) { 
         System.out.println("Invalid input");
      }
      else {
      n1 = number / 1000;
      n1Remainder = number % 1000;
      n2 = n1Remainder / 100;
      n2Remainder = number % 100;
      n3 = n2Remainder / 10;
      n3Remainder = number % 10;
      n4 = number % 10;
      }

      if ((number > 0000) amp;amp; (number < 9999)) {
      System.out.println(n1   " "   n2   " "   n3   " "   n4   " ");
      }
      else {
      System.out.println("Invalid input");
      }

      switch (digit) {
         case 1 : System.out.print("One");
         break;
         case 2 : System.out.print("Two");
         break;
         case 3 : System.out.print("Three");
         break;
         case 4 : System.out.print("Four");
         break;
         case 5 : System.out.print("Five");
         break;
         case 6 : System.out.print("Six");
         break;
         case 7 : System.out.print("Seven");
         break;
         case 8 : System.out.print("Eight");
         break;
         case 9 : System.out.print("Nine");
         break;
       }

 System.out.println("All done for now!");
      System.exit(0);

   }//end of the main method

}//end of the class
 

Комментарии:

1. проведите некоторое исследование, как использовать методы в java

Ответ №1:

Согласно вашему прототипу метода, метод oneDigit принимает четыре целых числа, и вы вызвали метод только с одним целым числом. Вы могли бы написать метод с одним параметром. Внутри метода используйте регистр переключения с параметром для печати числа в словах.

Например: Этот код должен быть написан внутри метода oneDigit

 public static void oneDigit(int digit) {
    switch(digit) {
        case 1 : System.out.print("One");
                 break;
        //Other cases followed
}
 

Вы могли бы следовать за этим со всеми цифрами.

Или вы могли бы написать блоки if-else if, чтобы проверить, какое целое число передается методу, и напечатать цифру в словах в этом блоке.

РЕДАКТИРОВАТЬ : Блок кода

Ответ №2:

попробуйте это:

 public static String oneDigit(int digit){
  switch(digit){
    case 0:
    return "zero";
    case 1:
    return "one";
    //add missing cases
    default:
    return "not in range"; //you can throw an exception here if you prefer
  }
}