gpt4 book ai didi

Java 输入解析器无法正常工作

转载 作者:行者123 更新时间:2023-11-30 03:19:54 25 4
gpt4 key购买 nike

我正在尝试解析整数。我给我的程序输入一行整数。删除所有空格。那么逻辑是这样的:

If I get a 0, 
If the next char is 1,
Print out a 0
If the next char is 0,
Print out a 1
Forget the 2 chars I just checked
If I get a 1,
If the next char is 0,
Print out a 1
If the next char is 1,
print out a 0
Forget the 2 chars I just checked

所以输入 10100 1011011 00,我应该得到 1100101。这是我到目前为止的代码:

import java.util.Scanner;

public class Blah {
public static void main (String args[]) {
Scanner input = new Scanner(System.in);
String text = input.nextLine();

int i;
for (i = 0; i < text.length(); i++) {
if (text.charAt(i) == '0') {
if (text.charAt(i++) == '1') {
System.out.print("0");
} else if (text.charAt(i++) == '0') {
System.out.print("1");
}
if (i < text.length())
i++;
} else {
if (text.charAt(i++) == '0') {
System.out.print("1");
i++;
} else if (text.charAt(i++) == '1') {
System.out.print("0");
}
if (i < text.length())
i++;
}
}
}
}

但是这并没有给我预期的结果。请帮忙。谢谢。

最佳答案

我会将您的增量更改为 i+=2 并删除其他位置 i 增量。还可以使用 i+1 检查下一个字符,而不是 i++。在进入循环之前使用正则表达式消除所有空格。

Scanner input = new Scanner(System.in);
String text = input.nextLine();
text=text.replaceAll("\\s+","");
int i;
for (i = 0; i < text.length()-1; i+=2) {
if (text.charAt(i) == '0') {
if (text.charAt(i+1) == '1')
System.out.print("0");
else if (text.charAt(i+1) == '0') {
System.out.print("1");
} else {
if (text.charAt(i+1) == '0')
System.out.print("1");
else if (text.charAt(i+1) == '1')
System.out.print("0");
}
}

关于Java 输入解析器无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31571096/

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