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