1、Scanner是SDK1.5新增的一个类,可睁念模是使用该类创建一个对象.Scanner reader=new Scanner(System.in) 然后reader对象调用下列方法(函数),读取用户在命令行输入的各种数据类型next.Byte(),nextDouble(),nextFloat,nextInt(),nextLine(),nextLong(),nextShot()
上述方法执行时都会造成堵塞,等待用户在命令行输入数据回车确认。例如,拥护在键盘输入12.34,hasNextFloat()的值是true,而hasNextInt()的值是false. NextLine()等待用户输入一个文本行并且回车,该方法得到一个String类型的数据悉缓;
2、下面是一个实例:
import java.util.*
public class Example
{
public static void main(String args[])
{
System.out.println("请输入若干个数,每输入一个数用回车确认")
System.out.println("最后输入一个非数字结束输入 *** 作")
Scanner reader=new Scanner(System.in)
double sum=0
int m=0
while(reader.hasNextDouble())
{
double x=reader.nextDouble()
m=m+1
sum=sum+x
}
System.out.printf("%d个数的和为%f\n",m,sum)
System.out.printf("高迅%d个数的平均值是%f\n",m,sum/m)
}
}
运行结果:C:\java>java Example请输入若干个数,每输入一个数用回车确认最后输入一个非数字结束输入 *** 作34.13445d3个数的和为113.1000003个数的平均值是37.700000
用法:
1、ScannernextInt()只读取数值,剩下"\n"还没有读取,并将cursor放在本行中。
2、next()方法遇见第一个有效字符(非空格,非换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格、换行符的单个字符串。
3、nextLine()时,则可以扫描到一行内容并作为一个字符串而被获取到。
4、在每一个next()、nextDouble()、nextFloat()、nextInt()等语句之后加一个nextLine()语句,将被next()去掉的Enter结束符段孝陪过滤掉。
例如:
1、代码如下:
publicclassNextTest{
publicstaticvoidmain(String[]args){
Strings1,s2
Scannersc=newScanner(System.in)
System.out.print("请输入第一个字符串:")
s1=sc.next()
sc.nextLine()
System.out.print("请输入第二个字符串:")
s2=sc.nextLine()
System.out.println("输入的字符串是:"+s1+""+s2)
}
}
2、运行结果:
请输入第一个字符串:home
请输入第二个字符串:work
输入的字符串是:homework
扩展资料:
Scanner使用分隔符模式将其输入分解为标记,默认情况下该分握蠢隔符模式与空白匹配。然后可以使用不同的next方法将得到的慎闹标记转换为不同类型的值。
例如:
1、以下代码使用户能够从System.in中读取一个数:
Scannersc=newScanner(System.in)
inti=sc.nextInt()
2、以下代码使long类型可以通过myNumbers文件中的项分配:
Scannersc=newScanner(newFile("myNumbers"))
while(sc.hasNextLong()){
longaLong=sc.nextLong()
}
参考资料来源:百度百科—Scanner
在 Java 中使用 Scanner 类无法直接向文本文档中写入多行数据,因为 Scanner 主要是用于从输入流中读取数据。如果要向文本文档中写入多行数据,可以使用 BufferedWriter 类。
以下是一个示例代码,演示如何使用 BufferedWriter 类向文本文档中写入多行数据:
import java.io.*
public class WriteToFileExample {
public static void main(String[] args) {
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))
// 向文件中写入多行数据
writer.write("第一行数据")
writer.newLine()// 换行
writer.write("第二行数据")
writer.newLine()// 换行
writer.write("第三行数据")
// 关闭文件流
writer.close()
System.out.println("写入完成")
} catch (IOException e) {
System.out.println("写入文件时发生错误")
e.printStackTrace()
}
}
}
在上面的示例代码中,我们创建了一个 BufferedWriter 对象,并将其连接到一个名为 output.txt 的文件中。然亏尺后,我们使用 write() 方法向文销凳高件中写入多行数据,并使用 newLine() 方法在每行数据后添加换行符。最后,我们使用 close() 方法关闭文件流。
希望这个示例代码能够帮助您理解如何向文本文档中写入多行数粗困据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)