问题描述
- 为什么输入#无法退出,谢谢
-
import java.util.Scanner;
public class Main1
{
public static void main(String[]agrs)
{
Scanner input = new Scanner(System.in);
while(input.hasNext())
{
String numbers = input.nextLine();
int n=0;
int c=numbers.length();
for(int b=0;b<c-1;b++)
{
char a=numbers.charAt(b);
if(a=='1')
n+=1;
else if(a=='#')
System.exit(0);
else
n+=0;
}
for(int b=0;b<c-1;b++)
{
if(n%2==0)
System.out.print(numbers.charAt(b));
else
System.out.print(numbers.charAt(b));
}
if(numbers.charAt(c-1)=='e')
{
if(n%2==0)
System.out.println("0");
else
System.out.println("1");
}
if(numbers.charAt(c-1)=='o')
{
if(n%2==0)
System.out.println("1");
else
System.out.println("0");
}
}
}
}
解决方案
判断前把a打印出来看看就知道了
解决方案二:
你并没有循环所有输入的字符串 for(int b=0;b<c-1;b++) 这个改为for(int b=0;b<=c-1;b++) 所以末尾的#没有循环到
解决方案三:
for循环里面的判断条件应该是b<c吧?
解决方案四:
for循环里面的判断条件应该是b<c吧?
解决方案五:
你并没有循环所有输入的字符串 for(int b=0;b<c-1;b++) 这个改为for(int b=0;b<=c-1;b++) 所以末尾的#没有循环到
解决方案六:
你并没有循环所有输入的字符串 for(int b=0;b<c-1;b++) 这个改为for(int b=0;b<=c-1;b++) 所以末尾的#没有循环到
解决方案七:
for循环里面的判断条件应该是b<c吧?
时间: 2024-08-30 15:00:57