java 新手 Scanner的几个简单输入问题

hyh123a
全栈领域新星创作者
2015-10-05 08:06:47
用Scanner啊

我也知道这好像很简单。。。可是不会。。。无从下手。。。
不要打我。。。。
我问题不清楚的话请告诉我。。。

importt java.util.Scanner;
Scanner scanner=new Scanner (System.in);
1.A+B问题
要求:输入两个数字 (空格隔开) 输出相加的和
继续输入两个数字再输出其相加的和
问题:最终用什么方法让他们结束?
当输入的只有一个数字时 怎么判断然后让其输出为0
如:test: 输入:1 3 输出: 4
继续输入:1 5 输出: 6
继续输入:1 输出: 0

2.String 的连续输入问题

要求: 从键盘输入一个字符串然后输出
继续输入然后再输出

import java.util.Scanner;

public class X1_2 {

public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);

if(scanner.hasNextLine()){
String line=scanner.nextLine();
System.out.println(line);
}

}
} //这个只能输入输出一次 怎么进行循环。。

问题:怎么让它继续输入然后输出 并且最终用什么办法让他们结束


3.字符串的重复输入问题
import java.util.Scanner;



public class X1_5 {

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
int num1=scanner.nextInt();
String str=scanner.nextLine();
for(int i=0;i<num1;i++){
System.out.println(str);
} //这个输入数字后再输入字符串 直接就把中间的空格也当做字符串的一部分输出了?为什么 ?
问题:输入数字后怎么让它换行输入字符串

4.也是字符串的重复问题
问题:区别在于
1>怎么循环输入数字 字符串并输出 最后用什么办法将其停止
2> 并且当只输入数字时什么都不输出
...全文
7181 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tho0o 2016-10-18
  • 打赏
  • 举报
回复
hyh123a 2015-10-06
  • 打赏
  • 举报
回复
诺 可以用具体的简单代码写一下么 方便的话最好带上注释
scmod 2015-10-06
  • 打赏
  • 举报
回复

public class NumberGuessV03 {
	public static void main(String[] args) {
		//生成一个随机数作为猜测的结果
		int num = (int) (Math.random() * 1000) + 1;

		//第一次猜测
		System.out.print("请输入你猜测的数字(1-1000),退出请按0:");
		Scanner s = new Scanner(System.in);
		int guest = s.nextInt();
		do{
			//判断:输入0,则中止
			if(guest == 0){
				break;
			} else if(guest > num) {
				System.out.println("太大了!");
			} else {
				System.out.println("太小了!");
			} 
			System.out.print("请输入你猜测的数字(1-1000),退出请按0:");
			guest = s.nextInt();
		}while(guest!=num);
		
		//提示用户最终结果
		if(guest == num) {
			System.out.println("恭喜,你猜对了!");
		}else{
			System.out.println("真遗憾,下次再挑战吧!");
		}
		s.close();
	}
}
以前的一个猜数字游戏,就是nextLine的话读进来是String的,用.split(" ")可以拆成字符串数组, 然后Integer.parseInt("1")可以把字符串的1转成数字的1 终止条件你可以改下比如"quit".equals(str)然后break; 循环可以while(true)一直循环,上面那个游戏是猜对了就break只是条件变了下 拼凑下应该可以拼出来的 也可以运行两遍 比如 int num1 = s.nextInt(); int num2 = s.nextInt(); 这样你按空格分开的两个数字自然会按两个int读进来就不用自己拆字符串转数字了 然后只要加下就行了 可以慢慢试
scmod 2015-10-05
  • 打赏
  • 举报
回复
用while(true)循环.nextLine(),根据输入个字符串quit之类的然后break就可以实现不停输入了,只是退出要实现break的条件 相加的话对字符串做个split(" ")根据空格拆分,好像应该你还没学...拆完是个字符串数组然后要转成int类型相加这样...好像都还没学...

50,639

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧