java-为什么输入#无法退出,谢谢

问题描述

为什么输入#无法退出,谢谢

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

java-为什么输入#无法退出,谢谢的相关文章

请问怎样清空java的输入缓冲区?

问题描述 请问怎样清空java的输入缓冲区?就用C/C++中的flush(stdin),Thanks 解决方案 解决方案二:flush()是对输出流的方法吧!如果清空输入缓冲区的话,可以循环读啊!知道返回-1解决方案三:byte[]b=newbyte[2048];intnum=din.read(b);//将输入的数据读到一个数组中循环判断num的值要是为-1的话则清空了否则还有数据解决方案四:Thanks解决方案五:JAVA自己不是有垃圾回收机制吗?解决方案六:不是的,搞错了,我第一次输入了一些

java 传参 编程-【Java初学者求助】,谢谢main方法里面传参的问题

问题描述 [Java初学者求助],谢谢main方法里面传参的问题 刚开始接触Java时间不久,谢谢各位帮忙.我想要得到的结果是:输入身高和体重,然后算出来exp是否合理,谢谢,package forth; import java.io.*; public class Person { float weight; float height; String check(){ float exp = weight/(height*height); if(exp<18) return ""

java基础问题求指教谢谢

问题描述 java基础问题求指教谢谢 形如 A a=new A();-------------1 a=new A();--------------2 辣么,a到底指的是哪个对象?1还是2? 五楼的说法对么? 解决方案 只用new关键字是为了创建一个对象,你使用了两次new关键字进行创建,会在内存中创建两个A的对象,a是你声明的一个引用,在程序中以最后一次的指向为准,这里是指向最后一个. 解决方案二: new 最后一个对象时,内存又为它分配了新的地址,所以a只想最后一个 解决方案三: a 在最后被

java中输入输出流中被读取的字节去哪了

问题描述 java中输入输出流中被读取的字节去哪了 比如说,我从缓冲区读入一堆数据,通过字节输入流对象提供的方法,读取了1个字节,后面还有99个字节未读取.然而这一个字节在我读取之后去哪了?是拷贝到某个地方了吗?读取完之后是不是直接从流对象中释放了呢? 解决方案 说白了是存到内存中了之后被java垃圾回收机制从内存中释放了. 解决方案二: java 字节输入输出流Java字节输入输出流

java 递归 输入一个ID 怎么把这个ID下所有的子ID 放入一个list里面 递归都写好了

问题描述 java 递归 输入一个ID 怎么把这个ID下所有的子ID 放入一个list里面 递归都写好了 HashMap> results = new HashMap>(); //输入的ID int ID=Integer.parseInt(Catid); //表中所有的数据 aas=cloudnewscategory.selectAllGory(); System.out.println("所有记录="+aas); for (CloudNewsCategory gory :

转义字符-java,scanner输入的字符串,如输入yes判断却不等于yes

问题描述 java,scanner输入的字符串,如输入yes判断却不等于yes 贴一贴 package test; import java.util.Scanner; public class Test { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan=new Scanner(System.in); System.out.println("input now&quo

麻烦帮忙解下这道题关于java缓冲输入输出流

问题描述 麻烦帮忙解下这道题关于java缓冲输入输出流 用带缓冲的输入输出流为demo.txt文件写入"hello demo"字符串,并将文件中的内容读出来和显示 解决方案 直接要代码,不是好做法.建议自己查一下API文档,在io包下,相信你应该就能做出来了

java 地图-java中输入身份证号,怎么显示地图上的省份

问题描述 java中输入身份证号,怎么显示地图上的省份 1.在面板中输入身份证号,就会在地图上所在省份显示性别,年龄.2.点击地图上的省份,然后就会在面板上反馈省份代号.急求,菜鸟刚入门

java 计算输入英文句子中出现过的字母的次数

问题描述 java 计算输入英文句子中出现过的字母的次数 不区分大小写,大写字母一律先变换成小写字母再计算例输入This is a pen. 输出a : 1b : 0c : 0d : 0e : 1f : 0g : 0h : 1i : 2j : 0k : 0l : 0m : 0n : 1o : 0p : 1q : 0r : 0s : 2t : 1u : 0v : 0w : 0x : 0y : 0z : 0 使用代码雏形 import java.util.Scanner;public class M