gpt4 book ai didi

java - 如何使用其他方法的输入?

转载 作者:太空宇宙 更新时间:2023-11-04 11:36:39 25 4
gpt4 key购买 nike

我有一个作业,要求我编写一个程序来反转用户输入的正整数的顺序,即 1234 变成 4321。

程序还必须验证输入是否为正整数。这两者都必须通过不同的方法来完成。

我已经完成了下面包含的验证部分。我想将用户输入放入数组中,但我不知道如何在单独的方法中使用经过验证的数字。任何帮助将不胜感激。

    import java.util.Scanner;

public class order {

public static void main(String[] args) {

String userEntry;

Scanner keyboard = new Scanner(System.in);

System.out.println("Please enter a positive integer.");
userEntry = keyboard.nextLine();

userEntry = validate (userEntry);
int original = Integer.parseInt(userEntry);
System.out.println("The original number is: "+ original);

}

public static String validate (String userInput) {

int userInputLength = userInput.length();
int counter = 0;

Scanner keyboard = new Scanner(System.in);

while (userInputLength == 0) {
System.out.println("That is not a valid integer. Try again");
userInput = keyboard.nextLine();
userInputLength = userInput.length();
}

while (counter < userInputLength) {

if (Character.isLetter(userInput.charAt(counter))) {

System.out.println("That is not a valid integer. Try again");
userInput = keyboard.nextLine();
userInputLength = userInput.length();
counter = 0;
}
else
{
counter++;
}

while (userInputLength == 0) {

System.out.println("That is not a valid integer. Try again");
userInput = keyboard.nextLine();
userInputLength = userInput.length();
}
}
return userInput;
}

最佳答案

存储 validate() 方法返回的值,然后将其传递给另一个方法(在本例中为 reverseString() 方法)。 stringDigits 是包含字符串数字的数组。

在你的主要方法中

 String validatedString = validate(userInput);
String reversedString = reverseString(validatedString);
int[] stringInDigits = new int[userInput.length()];
stringInDigits = getElementsAsArray(userInput);

reversedString 变量将包含反转的值。

假设您将原始数字作为字符串传递。以相反的顺序循环遍历字符串。

反转字符串方法

   public String reverseString(String aString){
String reverseString = "" ;
int index = aString.length()-1;
while(index >= 0){
char myCharacter = aString.charAt(index);
reverseString = reverseString.concat(""+myCharacter) ;
index--;
}
return reverseString;
}

将数字字符串中的数字存储到数组

声明一个大小等于字符串长度的数组。逐个字符循环遍历字符串并将其放入数组

   public int[] getElementsAsArray(String aString){
int[] digits = new int[aString.length()];
for(int i=0;i<aString.length();i++){
digits[i]=Integer.parseInt(""+aString.charAt(i));
}
return digits;
}

关于java - 如何使用其他方法的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43199671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com