2016-10-13 6 views
-1

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

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) && (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) && (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 
+0

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

ответ

-1

попробовать это:

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 
    } 
} 
0

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

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

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

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

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

EDIT: код