我的目的是定义一个char类型,然后输入一个字符,判断与Y或N是否相等,我用int类型输入强制转换成char会报错,用next或者nextline又报错如何解决
![](https://profile-avatar.csdnimg.cn/4c8f3f8237bd4359b96f8dd26ba8a065_m0_73827054.jpg!4)
java中scanner输入问题
我的目的是定义一个char类型,然后输入一个字符,判断与Y或N是否相等,我用int类型输入强制转换成char会报错,用next或者nextline又报错如何解决
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- a5156520 2023-03-13 09:33关注
可以在next()后面增加一个charAt(0)获取输入的第一个字符即可,另外如果需要向其他方法传递注册信息,可以把存放注册信息的String数组放在main方法,然后向其他方法传递这个String数组和可以当前可以存储注册信息的下标。
修改如下:
参考链接:https://blog.csdn.net/weixin_62079735/article/details/128920895import java.util.Scanner; public class RegisterTest { public static void main(String[] args) { // TODO Auto-generated method stub String [] h = new String[100]; // 第一次注册,传入h数组,当前可以存储注册信息的下标len=0 int len=0; int newLen=register(h,len); // 使用newLen存放最新可以存储注册信息的下标,以便后面打印和再次注册 //System.out.println("newLen="+newLen); System.out.println("注册信息为:"); for(int i=0;i<newLen;i+=2) { System.out.println("姓名:"+h[i]+",密码:"+h[i+1]); } // 第二次注册,传入h数组,当前可以存储注册信息的下标newLen,并再次获取返回的可以存储注册信息的下标,以便后面打印 newLen=register(h,newLen); //System.out.println("newLen="+newLen); System.out.println("注册信息为:"); for(int i=0;i<newLen;i+=2) { System.out.println("姓名:"+h[i]+",密码:"+h[i+1]); } } public static int register(String[] h,int len) { int i=len; //System.out.println("i="+i); Scanner sc = new Scanner(System.in); while(i<h.length-1) { System.out.println("姓名:"); h[i] = sc.next(); System.out.println("密码:"); h[i+1]=sc.next(); System.out.println("是否继续注册?Y/N"); char m ; // https://blog.csdn.net/weixin_62079735/article/details/128920895 m = sc.next().charAt(0); i+=2; // System.out.println("i="+i); // System.out.println("m="+m); if(m=='Y') { continue; }else { ///= sc.close(); // System.out.println("i-2="+(i-2)); return i; } } //sc.close(); return i; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 在若依框架下实现人脸识别
- ¥15 网络科学导论,网络控制
- ¥100 安卓tv程序连接SQLSERVER2008问题
- ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同