Java笔试 输入输出

nextLine()

笔试技巧 java数据输入

1.输入为数字:scan.nextInt() scan.nextDoubel() scan.nextFloat()
2.输入字符串 用scan.next()或者scan.nextLine()
next读到空格处就不读了,nextLine()读一行
3.循环输入

import java.util.ArrayList;
import java.util.Scanner;

Scanner scan=new Scanner(System.in)
while(scan.hasNext()){
	System.out.print("请输入一行整数用空格分离");
	String aline=scan.nextLine();
	ArrayList alinenumber=new ArrayList();//转换成整型数组存放
	int pre=0;//扫描指针
	int i=0,tem=0;
	for(int i=0;i<aline.length();i++){
		if(aline.charAt(i)==' '){
			temp=Integer.parseInt(aline.substring(pre,i));
			alinenumber.add(temp);
			pre=i+1;
		}
		temp=Integer.parseInt(aline.substring(pre,i));//跳出循环时可能还有有个数字
		alinenumber.add(temp);				
		}
	}
	
	
}

java实现示例

import java.util.ArrayList;
import java.util.Scanner;
 
public class Input {
	
	//输入一个整数
	public void anInt(){
		Scanner sc = new Scanner(System.in);
		
		System.out.print("请输入一个整数: ");
		int number=sc.nextInt();
		
		System.out.println("输入的数字是: "+number);
	}
	
	//输入一个浮点数
	public void aDouble(){
		Scanner sc = new Scanner(System.in);
		
		System.out.print("请输入一个浮点数: ");
		double number=sc.nextDouble();
		System.out.println("输入的数字是: "+number);
		
	}
	
	//输入一行字符,并根据字符做相应的动作
	public void aLine(){
		Scanner sc = new Scanner(System.in);
		
		System.out.print("请输入一行字符:");
		String aline=sc.nextLine();
		char [] word=aline.toCharArray();
		
		for(int i=0;i<aline.length();i++){
			switch(word[i]){
			case ('w'):{
				System.out.print("输入的字符是: w ");
				break;
			}
			case('s'):{
				System.out.println("输入的字符是: s");
				break;
			}
			case('a'):{
				System.out.println("输入的字符是: a");
				break;
			}
			case('d'):{
				System.out.println("输入的字符是: d");
				break;
			}
			default:{
				System.out.println("输入了其它字符");
			}
			}
		}
	}
	
	//输入一行整数,这种情况是最常见的,需要进行类型转换
	public void aLineInt(){
		Scanner sc =new Scanner(System.in);
		System.out.print("请输入一行整数使用空格分离:");
		String aline=sc.nextLine();
		
		ArrayList alinenumber=new ArrayList();//转换成整型放到
		int pre=0;//扫描指针
		int i=0;
		int temp=0;
		for (i = 0; i < aline.length(); i++) {
			if (aline.charAt(i) == ' ') {
				temp = Integer.parseInt(aline.substring(pre, i));
				alinenumber.add(temp);
				pre = i + 1;
			}
		}
		temp = Integer.parseInt(aline.substring(pre, i));//跳出循环时可能还有一个数字
		alinenumber.add(temp);
		
		System.out.print("输入的数字序列:");
		for(i=0;i<alinenumber.size();i++)
			System.out.print((int)alinenumber.get(i)+" ");
		System.out.println();
	}
	
	//输入一行浮点数,需要进行类型转换
	public void aLineDouble(){
		Scanner sc =new Scanner(System.in);
		System.out.print("请输入一行浮点数使用空格分离:");
		String aline=sc.nextLine();
		
		ArrayList alinenumber=new ArrayList();//转换成整型放到
		int pre=0;//扫描指针
		int i=0;
		double temp=0;
		for (i = 0; i < aline.length(); i++) {
			if (aline.charAt(i) == ' ') {
				temp = Double.parseDouble(aline.substring(pre, i));
				alinenumber.add(temp);
				pre = i + 1;
			}
		}
		temp = Double.parseDouble(aline.substring(pre, i));//跳出循环时可能还有一个数字
		alinenumber.add(temp);
		
		System.out.print("输入的浮点数为:");
		for(i=0;i<alinenumber.size();i++)
			System.out.print((Double)alinenumber.get(i)+" ");
		System.out.println();
	}
	
	//输入一个整数矩阵,矩阵的长度和宽度不确定,可以用于输入n*n的矩阵
	public void aMatrix(){
		Scanner sc = new Scanner(System.in);
		ArrayList matrix=new ArrayList();//整个矩阵
		ArrayList alinelist;//每一列
		int length=0;//一列的长度
		
		System.out.println("请输入一个矩阵:");
		//获得下一行
		while (sc.hasNextLine()) {
			String str = sc.nextLine();
			if (str.equals(""))//输入空行则完成输入,退出循环
				break;
			
			alinelist=new ArrayList();
			
			int pre=0;//扫描指针
			int i=0;
			int temp=0;
			for (i = 0; i < str.length(); i++) {
				if (str.charAt(i) == ' ') {
					temp = Integer.parseInt(str.substring(pre, i));
					alinelist.add(temp);
					pre = i + 1;
				}
			}
			temp = Integer.parseInt(str.substring(pre, i));
			alinelist.add(temp);
			matrix.add(alinelist);
			
			if(length<alinelist.size())
				length=alinelist.size();
		}
		//复制到数组中
		int array [] []=new int [matrix.size()][length];
		//调用函数计算数量
		
		for(int i=0;i<matrix.size();i++){
			alinelist=(ArrayList) matrix.get(i);
			for(int j=0;j<alinelist.size();j++){
				array[i][j]=(int)alinelist.get(j);
				System.out.print(array[i][j]+" ");
			}
			System.out.println();
		}
	}
	
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值