Java输入输出与字符处理

目录

获取输入数据

BufferedReader 

Scanner

数据转换

数学函数

一个demo


最近看了一些机试题,大多是些很基础的输入输出以及字符的处理,有些东西太基础了反而记不住。现在整理一些常用的关键代码记录如下:

获取输入数据

BufferedReader 

通常使用的类与要导入的包

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

获取输入

//通过BufferedReader、InputStreamReader、System.in 来获取输入
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

读取一行内容

 //bf.readLine() 来读取一行的内容
        while ((str = bf.readLine()) != null) 

读取一行字符串中的每一位:

InputStream in = System.in;
        int available = in.available()-1;
        char[] chars = new char[available];
        while (available-- > 0) {
            chars[available] = (char) in.read();
        }

Scanner

要导入的包为

import java.util.Scanner;

读取一行字符串

Scanner scan = new Scanner(System.in);
String str ="";
if (scan.hasNextLine()) {
    str = scan.nextLine();
}

获取下一个int数据  

// 读取下一个整数,默认用空格做分割
Scanner scan = new Scanner(System.in);
int i = 0;
float f = 0.0f;
System.out.print("input int:");
while(scan.hasNextInt()) {
    //可设置分割方式
    //scan.useDelimiter(" |,|\\."); 

    // 判断输入的是否是整数
    i = scan.nextInt();
    // 接收整数
    System.out.println("int: " + i);
} 

获取下一个float数据 

if (scan.hasNextFloat()) {
    // 判断输入的是否是小数
    f = scan.nextFloat();
    // 接收小数
    System.out.println("float:" + f);
} else {
    // 输入错误的信息
    System.out.println("not float!");
}

 

数据转换

字符转整形

 //字符转化为整数
int n = Integer.parseInt(str);

整形转为二进制字符串:

Integer.toBinaryString(num)

截取字符串

str.substring(start, start + 8)

字符数组转字符串

char[] tmp = new char[]{'0','0', '0','0','0', '0','0','0'};

String.valueOf(tmp))

或者:new String (numCharsConvert)

字符串转为字符数组

char [] numChars = numStr.toCharArray();

数组排序: Arrays.sort(result);

 

数学函数

N次方

Math.pow(a,3) 即等于求a的3次方。Math方法直接是在Java.lang 包下的

开平方:Math.sqrt(num)

 

一个demo

//要导入的类;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        //通过BufferedReader、InputStreamReader、System.in 来获取输入
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String str;
        //bf.readLine() 来读取一行的内容
        while ((str = bf.readLine()) != null) {
            boolean[] stu = new boolean[1001];
            StringBuilder sb = new StringBuilder();
            //字符转化为整数
            int n = Integer.parseInt(str);
            for (int i = 0; i < n; i++) {
                stu[Integer.parseInt(bf.readLine())] = true;
            }
            for (int i = 1; i < 1001; i++) {
                if (stu[i]) {
                    sb.append(i).append("\n");
                }
            }
            //删除指定位置处的字符
            sb.deleteCharAt(sb.length() - 1);
            System.out.println(sb.toString());
        }
    }
}

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值