gpt4 book ai didi

java - 如何在循环内创建一个数组,然后在Java中循环后调用它?

转载 作者:行者123 更新时间:2023-12-01 12:15:17 25 4
gpt4 key购买 nike

我在这里编写了一段代码来执行以下操作:提示用户要输入多少个数字。我们将此值称为 userRequest。因此,在 userRequest 时我们执行以下操作: 读取一个字符串。该字符串的形式为:数字和字母的混合。 返回字符串的整数和分隔的字母。

但在返回代码中,我逐个字符扫描字符串,因此它单独打印每个输入。但是,我的问题是如何将数字作为一个整数打印在一起,并将字母作为字符串打印在一起。 (我认为它需要数组,但当它在循环内时我无法调用数组)

import java.util.*;
public class Program8{
public static void main(String[] args){
Scanner scan = new Scanner (System.in);
int userRequest;
int returnNum;

System.out.print("How many numbers do you wish to enter? ");
while (!scan.hasNextInt()){
System.err.print("Please try again, with digits only: ");
scan.next();
}//while
userRequest = scan.nextInt();

int sortingNum = 1;
String str;
char ch;
str = scan.nextLine();
for (int i = 0; i < userRequest; i++){
System.out.print("* Please enter a string #" + sortingNum + ": ");
str = scan.nextLine();
System.out.println("- String #" + sortingNum++ + " = " + str);
for (int j = 0; j < str.length(); j++){
ch = str.charAt(j);
if ((ch + 0) >= 48 && (ch + 0) <= 57){
int digit = ((ch + 0) - 48);
System.out.println(digit);
}
}
System.out.println();
for (int k = 0; k < str.length(); k++){
if (str.toLowerCase().charAt(k) >= 'a' && str.toLowerCase().charAt(k) <= 'z')
System.out.println(str.charAt(k));
}
}//for

}//main
}//Program8

最佳答案

号码:
添加将变量乘以 10 并添加提取的数字的逻辑。

对于字符串:
添加逻辑以将字符附加到 stringbuilder 对象。

代码:

 int finalNumber = 0;
for (int j = 0; j < str.length(); j++){
ch = str.charAt(j);
if ((ch + 0) >= 48 && (ch + 0) <= 57){
int digit = ((ch + 0) - 48);
finalNumber = finalNumber*10 + digit;
//System.out.println(digit);
}
}
System.out.println(finalNumber);
System.out.println();
StringBuilder finalString = new StringBuilder();
for (int k = 0; k < str.length(); k++){
if (str.toLowerCase().charAt(k) >= 'a' && str.toLowerCase().charAt(k) <= 'z') {
//System.out.println(str.charAt(k));
finalString.append(str.charAt(k));
}
}
System.out.println(finalString.toString());

关于java - 如何在循环内创建一个数组,然后在Java中循环后调用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27054683/

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