当前位置: 首页 > 知识库问答 >
问题:

从字符串到Int数组的整数

浦德明
2023-03-14

我正在写一个简单的井字游戏,需要在轮到他们的时候接受用户输入。玩家应该简单地提供一组坐标来放置他们的令牌(1,1)到(3,3)。我应该能够接受输入为“2 1”或“2,1”或“2,1”。所以我需要能够获取他们的字符串输入并提取两个数字中的每一个,而不管分隔符如何,并使用它们将他们的令牌分配给3x3数组中的指定单元格。

主要的问题是只能利用我们已经学过的东西(这是Java的第一节)。这是构建Java程序的前七章,其中包括扫描程序、条件/逻辑、循环和数组。没有模式、匹配器、列表等。

有没有一种方法可以只使用String类、scanner或数组来实现这一点?

共有2个答案

徐鸿文
2023-03-14

忘记添加“”将字符转换为字符串。

Scanner input = new Scanner(System.in);

String userInput;
String[] coordinates = new String[2];

char character;
int length;

userInput = input.nextLine();
length = userInput.length();

if(length > 2){
  coordinates[0] = "" + userInput.charAt(0);
  character = userInput.charAt(2);

  if(character != ',' && character != ' '){
    coordinates[1] = "" + character;
  }
  else{
    coordinates[1] = "" + userInput.charAt(3);
  }
}

解释:

我们使用数组来存储您需要的两个位置。

我们用一个字符在输入位置存储读数。

我们得到读取输入的长度。这是为了验证它是否正确。因为正确的输入应该至少超过2个字符。

我们知道第一个位置是有效的,所以我们分配它immediately.We也知道第二个位置不能有效,所以我们跳过它(charAt(2)而不是charAt(1))然后我们检查第三个位置是否有效,如果不是,我们分配第四个位置。

祝你好运!

岳嘉容
2023-03-14

只要使用String类,就可以使用String。split()获取字符串数组,然后将其解析为整数

public class Example{

 public static void main(String []args){
     String str = "2 1";
     // first split the original string on a comma
     String[] str_arr = str.split(",");
     // if the length is one then there were no commas in the input, so split again on white space
     if (str_arr.length == 1){
         str_arr = str.split(" ");
     } 
     int[] int_arr = new int[str_arr.length];
     // assign the string array to an int array
     for (int i = 0; i < str_arr.length; i++){
         int_arr[i] = Integer.parseInt(str_arr[i]);
     }
    // output to console         
     for (int j : int_arr){
         System.out.println(j);
     }

 }
}
 类似资料:
  • 我正在制作一个模拟制表方法(Quine McCluskey)的程序,并试图将字符串格式的输入转换为整数格式,最后再转换为字符串(二进制格式)格式。 编辑:我忘了包括这个方法…

  • 问题内容: 我有阵列 转换为字符串: 串: 以及如何将此字符串转换回数组? 问题答案: 尝试我的stringToDeep()方法转换回Array。

  • 我写了一段代码,其中我扫描了一个整数,假设是121,为了把它分成3个部分,我把它变成一个字符串,并尝试通过拆分再次转换它?有什么简单的方法可以让它变成这样吗?

  • 我有一个这样的字符串 我需要提取每个部分。我已经解析了前三个字符串(“Anderson,T”,CWS,SS),但现在我需要提取123,我在这方面遇到了一些问题。我在前三个字段中使用的方法是使用line。分裂 但我不能用线条。使用整型数组拆分。有人能帮我吗? 谢谢

  • 我在Firebase中有一个包含多个记录的集合,每个记录都包含一个名称和记录的“关键字”的字符串数组。下面的示例。

  • 我试图获取任意长度的字符串[],并将其打印成字符串,最好使用字段分隔符。现在我有: 但是由于某种原因,它只是返回“第二个”值。我如何使它正确连接这些值? 另外,我可以使用来简化代码吗?谢谢