当前位置: 首页 > news >正文

Java面试笔试acm版输入

首先区分scanner.nextInt()//输入一个整数,只能读取一个数,空格就停止。

scanner.next()//输入字符串,只能读取一个字符串,空格就停止,但是逗号不停止。

scanner.nextLine() 读取一行,换行停止,空格不停止

1.  读取同一行的多个参数

例:输入:1,2

如果是 1 2(中间是空格的话),直接读取就行

如果是1,2 逗号间隔的话,

// 输入如下
ABB,CCC,DDD ,EEE,123,435

肯定使用nextLine,

如:


2  以三行输入为例,第一行输入两个数字m,n,分别表示数组num1和num2的长度,第二行和第三行输入num1和num2的元素,以空格分隔。

// 输入如下
3 4
10 2 3 
11 4 5 6

解决办法:

import java.util.Arrays;
import java.util.Scanner;public class myScanner {Scanner sc = new Scanner(System.in);public static void main(String[] args) {System.out.println("输入:");Scanner sc = new Scanner(System.in);int m = sc.nextInt();int n = sc.nextInt();int[] num1 = new int[m];int[] num2 = new int[n];// 换成其他数据类型也一样,其他数值类型就修改int跟nextInt就可以了,//String就把nextInt()换成next()for(int i = 0; i < m; i ++) {num1[i] = sc.nextInt();  // 一个一个读取}for(int i = 0; i < n; i ++) {num2[i] = sc.nextInt();}System.out.println("输出:");System.out.println(Arrays.toString(num1));System.out.println(Arrays.toString(num2));}
}

3.多行输入多个参数,每行参数个数不定

假设第一行输入m,n,m表示后面有m行,n表示每行最多有n个(可用来截断某一行多输入的参数,不详细分析了)。

// 输入如下
3 4
AA bcd 123 54
AA BB
A B C

解决办法:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;public class myScanner {Scanner sc = new Scanner(System.in);public static void main(String[] args) {System.out.println("输入:");Scanner sc = new Scanner(System.in);int m = sc.nextInt();sc.nextLine();  // 很重要,跳到第二行// 若直接确定行数,注释掉上面两行,加入下面一行// int m = 3;String[] strArr = new String[m];// 从第二行开始读取for(int i = 0; i < m; i++) {strArr[i] = sc.nextLine();}System.out.println("输出:");System.out.println(Arrays.toString(strArr));ArrayList<String[]> strToOne = new ArrayList<String[]>();for(int i = 0; i < m; i ++) {String[] tmp = strArr[i].trim().split(" ");strToOne.add(tmp);}System.out.println(strToOne);// 形象点显示System.out.print("[");for(int i = 0; i < strToOne.size(); i++) {System.out.print(Arrays.toString(strToOne.get(i)));if(i != strToOne.size()-1)System.out.print(", ");}System.out.print("]");}
}

4. 输入字符串型的数组,转换成整数

例如

输入: [1,2,3,4] //整体是字符串

解决方案:

import java.util.Scanner;public class myScanner {Scanner sc = new Scanner(System.in);public static void main(String[] args) {Scanner in = new Scanner(System.in);String c = in.nextLine();//读取一整行c = c.substring(1, c.length() - 1);//去掉两头的[]System.out.println(c);String[] ch = c.split(",");//按照,分割int a[] = new int[ch.length];//定义一个整数数组for (int i = 0; i < ch.length; i++) {System.out.print(ch[i] + " ");a[i] = Integer.valueOf(ch[i]);//将字符串型转换为数组System.out.println(a[i]);}}
}

http://www.lryc.cn/news/171123.html

相关文章:

  • 新手怎样快速上手接口测试?掌握这几个知识点直接起飞!
  • IDEA 启动 java web 老项目
  • 软路由和硬路由的区别是什么,性价比与可玩性分析
  • 《TCP/IP网络编程》阅读笔记--多线程服务器端的实现
  • 修改el-card的header的背景颜色
  • ubuntu系统中查看打开的端口
  • Datax从mysql同步数据到HDFS
  • 使用 Selenium 或其他工具模拟浏览器使用及语法代码
  • 华为手机如何开启设置健康使用手机模式限制孩子玩手机时间?
  • 【Linux】线程池 | 自旋锁 | 读写锁
  • [网鼎杯 2020 青龙组]bang 题解
  • 创建环境时提示:ERROR conda.core.link:_execute(502)
  • Python150题day07
  • LeetCode 2596. 检查骑士巡视方案
  • 大数据学习1.0-目录
  • 无涯教程-JavaScript - POWER函数
  • ChatGPT:解释Java中 ‘HttpResponse‘ 使用 ‘try-with-resources‘ 的警告和处理 ‘Throwable‘ 打印警告
  • Linux编辑器-gcc的使用
  • 第16篇ESP32 platformio_arduino框架 wifi联网_连接WiFi热点并连接tcp server收发数据进行通讯
  • day1| 704. 二分查找、27. 移除元素
  • R绘制箱线图
  • 利用Audit审计系统行为
  • uniapp:不同权限设置不同的tabBar
  • 如何将本地的项目上传到Git
  • [php] 文件上传的一个项目emmm
  • uniapp-时间格式和距离格式的转换
  • 【卖出备兑看涨期权策略(Covered_call)】
  • 【校招VIP】测试算法考点之智力分析
  • 【Linux 服务器运维】定时任务 crontab 详解 | 文末送书
  • Vue系列之入门篇