当前位置: 代码迷 >> 综合 >> java常用输入输出语句 char i = str.charAt(i);//获取字符串的第i个字符
  详细解决方案

java常用输入输出语句 char i = str.charAt(i);//获取字符串的第i个字符

热度:19   发布时间:2023-12-14 20:06:08.0

一.输入语句
1.使用Scanner类:

(1)使用java.util包。 import java.util.*;

(2)构造Scanner类对象,它附属于标准输入流System.in。 Scanner s = new Scanner(System.in);

(3)常用的next()方法系列: nextInt():输入整数 nextLine():输入字符串 nextDouble():输入双精度数 next():输入字符串(以空格作为分隔符)。

import java.util.*;
public class DEMO_1 {
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.print(“输入你的姓名:”);
String name = s.nextLine();
System.out.print(“输入你的年龄:”);
int age = s.nextInt();
System.out.println(“姓名:” + name + " 年龄:" + age );
s.close(); //若没有关闭Scanner对象将会出现警告
}
在Java中获取单个的字符
Scanner sc = new Scanner(System.in);
String s = sc.next(); //Scanner类没有提供直接接收一个字符的方法,这里当作字符串来接收;
char c = s.charAt(0); // 调用字符串的charAt()方法取得第一个字符就是了

String str = “adadsauo”;//定义一个字符串
char fir = str.charAt(0);//获取字符串的第一个字符
char i = str.charAt(i);//获取字符串的第i个字符

import java.util.Scanner;

关于scanner跳出输入循环
Scanner

while(scanner.hasNextInt()){…}
输入非整数时跳出循环。
其他 hasNextXXX 方法有同样的作用

这是很简单的一个例子,输出bye(不区分大小写)退出
public class Test001 {
public static void main(String[] args) {
System.out.println(“↑ ↓ ← →”);
Scanner scanner=new Scanner(System.in);
System.out.print(“请输入数字”);
String input="";
while(!input.equalsIgnoreCase(“bye”)){
input=scanner.next();
}
System.out.println(“您已经退出”);

}

}

2.使用java.io.BufferedReader和java.io.InputStreamReader:

步骤:

(1)使用java.io包。 import java.io.*;

(2)构造 BufferedReader类对象,它附属于标准输入流System.in。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

public class Sandbox4 extends Sandbox2{
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
while(true){
try {
str = br.readLine();
}catch(IOException e){
e.printStackTrace();
}
if(str.equals(“END”))break;
System.out.print(str);
}
}
}

请注意:

(1)read方法:读取单个字符。 返回:作为一个整数(其范围从 0 到 65535 (0x00-0xffff))读入的字符,如果已到达流末尾,则返回 -1 ;

(2)readLine方法:读取一个文本行。通过下列字符之一即可认为某行已终止:换行 (’\n’)、回车 (’\r’) 或回车后直接跟着换行。 返回:包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回 null。

3、使用java.io.Console:

public class Sandbox4 extends Sandbox2{
public static void main(String[] args) {
Console console = System.console();
if (console == null) {
throw new IllegalStateException(“Console is not available!”);
}
String str = null;
while(true){
str = console.readLine(“请输入”);
if(“END”.equals(str))break;
System.out.println(str);
}
}
}

输出语句

Java中的输出语句有以下四种:

System.out.println(1111);//换行打印
System.out.print(1111);//不换行打印
System.out.write(2222);//字节输出
System.out.printf("%+8.3f\n", 3.14);//按格式输出
System.out.println(); 是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口(控制台),并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString();方法,将返回值输出到控制台
System.out.print(); 与第一个很相似,区别就是上一个输出后会换行,而这个命令输出后并不换行。
System.out.printf(); 这个方法延续了C语言的输出方式,通过格式化文本和参数列表输出。

scanner函数详解

import java.util.Scanner;

/**

  • Scanner的简单示例

  • */
    public class TestScanner {

    public static void main(String[] args) {

     //创建Scanner对象//System.in表示标准化输出,也就是键盘输出Scanner sc = new Scanner(System.in);//利用hasNextXXX()判断是否还有下一输入项while (sc.hasNext()) {//利用nextXXX()方法输出内容String str = sc.next();System.out.println(str);}
    

    }
    }
    复制代码
    结果就是:你在控制台输入什么内容,点击回车后,下面就会输出同样的内容,如果你输入的时候点击了回车或者Tab键,那么输出的内容就会在那个地方换行~~
    结果如图:
    java利用Scanner获取键盘输入 - 冲出地球 - 冲出地球
    可以利用Scanner在java程序需要参数的时候输入参数
    代码示例:TestScannerIn.java
    复制代码
    import java.util.Scanner;

/**

  • 使用Scanner在程序需要的时候输入参数

  • */
    public class TestScannerIn {

    public static void main(String[] args) {

     /*** 写一个输出个人信息的小例子* */Scanner sc = new Scanner(System.in);sc.useDelimiter("/n");System.out.println("欢迎来到冲出地球的博客,我是冲出地球^_^");System.out.println("请问你叫什么名字呢?");String name = sc.nextLine();System.out.println("请问你来自哪里呢?");String area = sc.nextLine();System.out.println("好的,你来自" + area + ",那么,你们那有什么美食吗?");String food = sc.nextLine();System.out.println("好的,那么我来复述一下你的信息:");System.out.println("你叫" + name + ",来自于:" + area);System.out.println("你们那最好吃的东西是:" + food);System.out.println("对吧~~");
    

    }
    }
    复制代码
    结果:
    java利用Scanner获取键盘输入 - 冲出地球 - 冲出地球

Scanner除了可以获取键盘输入外,也可以获取文件中的内容,将文件中的内容一行一行的输入出来
如果文档在项目中(如图)
java利用Scanner获取键盘输入 - 冲出地球 - 冲出地球
示例代码:TestScannerRead.java
复制代码
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

/**

  • 利用Scanner读取项目中的文档

  • */
    public class TestScannerRead {

    public static void main(String[] args){

     Scanner sc;try {//读取项目中的文档sc = new Scanner(new File("ScannerTest.txt"));System.out.println("项目中的文本内容是:");//通过判断是否有下一行来输出文档内容while (sc.hasNextLine()) {System.out.println(sc.nextLine());}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}
    

    }
    }
    复制代码
    结果:
    java利用Scanner获取键盘输入 - 冲出地球 - 冲出地球
    如果从本地读取文档
    示例代码:TestScannerRead.java
    复制代码
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.util.Scanner;

/**

  • 利用Scanner读取本地的文件

  • */
    public class TestScannerRead {

    public static void main(String[] args){
    FileInputStream fis;
    try {
    //利用文件上传功能
    fis = new FileInputStream(“D:\text\ScannerTest.txt”);
    //设置文件编码
    Scanner sc = new Scanner(fis,“UTF-8”);
    System.out.println(“本地文件内容:”);
    //输出文件内容
    while (sc.hasNextLine()) {
    System.out.println(sc.nextLine());
    }
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
    复制代码
    结果:
    java利用Scanner获取键盘输入 - 冲出地球 - 冲出地球

  相关解决方案