-
2018-12-01 09:40:52
import java.util.Scanner; public class Main { public static void main(String args[]) { int a,b; Scanner reader=new Scanner(System.in); while(reader.hasNext()) { a=reader.nextInt(); b=reader.nextInt(); System.out.println(a+b); } } }
必须是public class Main提交,并且不能带包名。
更多相关内容 -
java – 要求用户进行多次输入
2021-02-27 12:01:26我正在尝试编写一个程序,它会一直询问用户一个整数,直到他们输入一个非整数的值,此时程序停止.这是我到目前为止:import java.util.Scanner;import java.util.ArrayList;public class InputStats {private static ...我正在尝试编写一个程序,它会一直询问用户一个整数,直到他们输入一个非整数的值,此时程序停止.
这是我到目前为止:
import java.util.Scanner;
import java.util.ArrayList;
public class InputStats {
private static Scanner a;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
ArrayList InputArray = new ArrayList();
Boolean Running = true;
System.out.println("Please type an integer. To stop enter a non integer value");
while (Running) {
a = Scanner.nextLine();
if (!a.hasNextInt()) {
Running = false;
}
else {
InputArray.add(input.nextLine());
}
System.out.println(InputArray);
}
}
}
但是,使用此代码我收到错误:
error: non-static method nextLine() cannot be referenced from a static context (for the line a = Scanner.nextLine();)
和
error: incompatible types (for the line a = Scanner.nextLine();)
可能是什么问题?
-
Java中从控制台输入数据的几种常用方法(转转)
2021-03-08 10:33:07原文博客地址:https://www.cnblogs.com/SzBlog/p/5404246.html一、使用标准输入串System.in//System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字//System.in.read()返回一个整数//必须...原文博客地址:https://www.cnblogs.com/SzBlog/p/5404246.html
一、使用标准输入串System.in
//System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字
//System.in.read()返回一个整数
//必须初始化
//int read = 0;
char read = '0';
System.out.println("输入数据:");
try {
//read = System.in.read();
read = (char) System.in.read();
}catch(Exception e){
e.printStackTrace();
}
System.out.println("输入数据:"+read);
二、使用Scanner取得一个字符串或一组数字
System.out.print("输入");
Scanner scan = new Scanner(System.in);
String read = scan.nextLine();
System.out.println("输入数据:"+read);
/*在新增一个Scanner对象时需要一个System.in对象,因为实际上还是System.in在取得用户输入。Scanner的next()方法用以取得用户输入的字符串;nextInt()将取得的输入字符串转换为整数类型;同样,nextFloat()转换成浮点型;nextBoolean()转换成布尔型。*/
三、使用BufferedReader取得含空格的输入
//Scanner取得的输入以space, tab, enter 键为结束符,
//要想取得包含space在内的输入,可以用java.io.BufferedReader类来实现
//使用BufferedReader的readLine( )方法
//必须要处理java.io.IOException异常
BufferedReader br = new BufferedReader(new InputStreamReader(System.in ));
//java.io.InputStreamReader继承了Reader类
String read = null;
System.out.print("输入数据:");
try {
read = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("输入数据:"+read);
-
Java Scanner多次使用问题
2021-03-23 16:56:07输入:输入的第一行是一个正整数 m,表示测试例个数。接下来几行是 m 个测试例的数 据,每个测试例的数据由两行组成,其中第一行为一个正整数 n (n<=500),表示整数序列 的长度,第二行给出整数序列,整数之间用.../*
- 1、考虑元素唯一性问题:给出一个整数集合,假定这些整数存储在数组 A[1…n]中,确定
它们中是否存在两个相等的元素。请设计出一个有效算法来解决这个问题,你的算法的时间
复杂性是多少?
具体要求
输入:输入的第一行是一个正整数 m,表示测试例个数。接下来几行是 m 个测试例的数
据,每个测试例的数据由两行组成,其中第一行为一个正整数 n (n<=500),表示整数序列
的长度,第二行给出整数序列,整数之间用一个空格隔开。
输出:对于每个测试例输出一行,若该组测试例存在两个相等的元素则输出 Yes,否则,
输出No。每个测试例的输出数据用一行表示。
*/import java.util.Scanner; public class T1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入测试用例数:"); int m = sc.nextInt(); for(int i=0;i<m;i++) { System.out.println("请输入数组包含元素数:"); int n = sc.nextInt(); getMessage a = new getMessage(n); System.out.println("请依次输入数组元素并用空格隔开:"); a.inputArgs(); System.out.println("查找是否有相同元素:"+a.search()); System.out.println(); } sc.close(); } } /* * ArrayList的源码if (i >= size) throw new NoSuchElementException(); * 在使用迭代器的时候注意next()方法在同一循环中不能出现俩次 */ class getMessage{ private int n; private int args[] = new int [n]; public getMessage(int n) { this.n = n; } public void inputArgs() { int args[] = new int[n]; Scanner sc = new Scanner(System.in); for(int i=0;i<n;i++) { args[i] = sc.nextInt(); } this.args=args; sc.close(); } public void printArgs() { for (int i=0;i<n;i++) { System.out.print(this.args[i]+" "); } } public boolean search() { for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { if(this.args[i]==this.args[j]) { return true; } } } return false; } }
编译这段程序后开始出现警告,但没有报错。
运行时却出现只能运行第一次方法内容,不能运行第二次。
然后我开始想是什么问题导致只能运行一次完整过程。刚开始我以为是类不能实例化多次,于是我开始找资料,结果都没有发现有这样的说法。方法同样也是可以多次调用的,我就很奇怪,究竟是哪里出现了问题。
过了很久之后,我开始认真看警告的内容,
是scanner出现了问题,本着学术的精神,我开始查关于scanner类的文档。最后发现是因为scanner被关闭了,才导致后面的数据无法读入。
于是我把类方法中的
sc.close();
删掉之后public void inputArgs() { int args[] = new int[n]; Scanner sc = new Scanner(System.in); for(int i=0;i<n;i++) { args[i] = sc.nextInt(); } this.args=args; }
程序顺利运行。
总结:只要在main方法中最后关闭一次scanner即可。
- 1、考虑元素唯一性问题:给出一个整数集合,假定这些整数存储在数组 A[1…n]中,确定
-
Java持续输入
2017-08-15 15:09:00* 若将break行加上,表示只要输入一次正确就跳出while循环,不能继续从键盘输入 * continue与break区别:continue结束单次循环,即跳过当次循环中剩下的语句,执行下一次循环。 * break结束整个循环体,用于... -
Java从键盘输入多个数据
2021-07-06 23:20:09import java.io.*; public class app3_5 { public static void main(String[] args)throws IOException { int num1,num2; String str1,str2; InputStreamReader in; in=new InputStreamReader(System.in); B.... -
Java一次输入多个数值给变量
2018-05-13 23:04:32import java.util.*;//调用包 public class Sisuo { public static void main(String[] args) { // TODO Auto-generated method stub int a =0; Scanner scan = new Scanner(System.in); ... -
java输入输出流详解
2021-02-26 18:40:561.什么是IOJava中I/O操作主要是指使用Java进行输入,输出操作.Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示... -
Java 获取多行输入
2020-08-06 23:03:16数组,已知长度 public class test_0806_1 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int lent = input.nextInt(); int[] arr = new int[lent];... -
Java输入输出流详解
2021-02-26 09:14:45Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为你往往需要包装许多不同的对象。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,... -
Java输入输出流
2021-03-11 11:58:191.什么是IOJava中I/O操作主要是指使用Java进行输入,输出操作.Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示... -
Java中如何输入一个字符
2019-09-13 21:24:58在一次编写代码时需要让程序接收一个字符,当我写出scanner.next时,我惊奇的发现,Scanner类中没有定义读取char的方法!!! Java中的扫描器类支持nextInt(),nextLong(),nextDouble()等。 但是没有nextChar()。要... -
Java多组输入实现
2018-09-04 20:05:10import java.util.Scanner; public class Main{ public static void main(String args[]) { Scanner cin = new Scanner(System.in); int a, b; while(cin.hasNextInt())//重点在这里,此处命名为语句@1. ... -
java的四种输入方法,你会几种?
2020-10-07 18:30:07java的输入方法最常见的就是Scanner的方法,我经过查阅一些资料发现了输入方法原来还有那么多种,可以玩出不少花样,下面是我总结出的四种输入方式,有需要的可以拿去 1.Scanner相关的功能 Scanner的输入方法是最... -
java FileInputStream(输入流)
2021-11-20 15:07:22JAVA中针对文件的读写操作设置了一系列的流,其中主要有FileInputStream,FileOutputStream,FileReader,FileWriter四种最为常用的流 二、FileInputStream 1. FileInputStream概念 FileInputStream流被称为文件字节... -
Java 常用数据类型的输入输出
2021-12-19 09:48:47常见数据的输入 -
Java中使用Scanner类进行键盘的输入详解
2021-02-12 19:05:21我们在使用Java写代码时,经常会遇到从键盘输入字符串等操作,这时候我们需要...Scanner同时也提供了多个构造器,用于接收文件,输入流,字符串。当我们引入Scanner这个类的时候,我们需要导入:import java.util.... -
java Scanner输入多行数据后按enter自动结束输入
2021-05-07 23:23:36如:将输入的所有数存入数组并输出 输入: 12 2 43 1 9 87 23 10 28 45 68 输出: [12, 2, 43, 1, 9, 87,23 ,10,28,45,68] public static void saveInput(){ Scanner sc = new Scanner(System.in); //读取... -
Java中Socket通信: 实现一次连接, 多次交互
2020-04-07 22:29:11网上有很多示例, 但大多如下: BufferedReader br = null; Scanner sc = null; try { br = new BufferedReader (new InputStreamReader(s.getOutputStream())); sc = new Scanner(System.in); ... -
Java中的Socket编程关于多次输入输出的问题,希望给出解决方法
2015-07-16 01:39:15实现了多线程,这是服务端的代码:需求是接受客户端发送的数字,根据数字选择相应的case,当是1的时候要向服务端发送一个user的对象,ObjectInputStream ois=new ObjectInputStream(s.getInputStream());这句话的... -
JAVA——System.in作为控制台输入时结束输入(输入EOF)解决方案
2020-02-25 15:55:15EOF:EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最后存在此字符表示资料结束。 解决方案 1、标准解决方案 在Windows环境... -
Java中Scanner类的close()方法所引发的错误
2018-06-17 01:19:40Java通过系统类System实现标准输入/输出的功能我们经常通过实例化Scanner类的方式实现从键盘的数据输入但其中的如果对其中一些细节不了解,就会引发不能理解的错误比如close方法:import java.util.Scanner;... -
Java输入n个数,以回车结束输入的简单方法
2019-03-29 22:11:39这是一个很常见的问题,需要输入n个数,然后进行一系列操作,网上的方法很多,但弱水三千,我只取一瓢,便记下了这样一个简单的方法。 如下,我们在编程时,可以创建两个Scanner对象 ,第一个接收键入的第一行数据... -
Java中Scanner的用法:单行/多行输入
2019-07-29 12:12:18Java的Scanner用法,主要用于算法笔试时的控制台输入问题:解决这种情况下的Scanner输入:单行,多行,数值,字符串最好解决的情况单行输入多个字符...平时用LeetCode刷题也不会用到,结果多次在笔试时候卡在Scan...... -
Java输入按空格分开(单个或多个)
2018-12-29 16:40:33按单个分 大体就是要用到split,一...输入 int n = sc.nextInt(); //sc.next(); String s1 = sc.nextLine(); String []s2 = s1.split(" "); 2. 输入 public static void main(String[] ... -
【Java基础】关于用scanner输入多个数据的问题
2020-06-30 19:36:08输入你的姓名、性别和年龄并打印 这样写是没有问题的 public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("请输入你的姓名"); String n = sc.next(); ... -
Java刷ACM模式的各类输入输出构造
2021-04-10 23:39:57之前在LeetCode上刷题都是用到核心代码模式,后面面试发现部分笔试题使用的是ACM模式(第一次的时候因为构造输入输出问题,导致无法ac)所以含泪总结一下 1、多行输入 以牛客上的奖学金一题为例,详细见下面代码: ... -
java输入、输出流的简单入门
2019-03-30 19:17:24程序在运行期间可能需要从外部的存储媒介或其他程序中读取所需要的数据,这就需要使用输入流,输入流的指向称为它的源;另一方面,程序在处理数据后,可能需要将处理的结果写入到永久的存储媒介中或传送给其他的应用... -
输入成绩输出等级(Java)
2021-10-13 19:22:45这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何... 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar