Java-输入输出专场(牛客/面试)<三>

15 篇文章 1 订阅

一. 前言

在面试或者是做牛客的模式时,回经常遇到输入输出自己写的情况,因此是非常必要掌握输入输出的一些操作。牛客网上也有OJ在线编程常见输入输出练习场,非常值得一看。下面是一些例子。

Java-输入输出专场(牛客/面试)<一>

Java-输入输出专场(牛客/面试)<一>_FordwardSummer的博客-CSDN博客

Java-输入输出专场(牛客/面试)<二>

Java-输入输出专场(牛客/面试)<二>_FordwardSummer的博客-CSDN博客

Java-输入输出专场(牛客/面试)<三>

Java-输入输出专场(牛客/面试)<三>_FordwardSummer的博客-CSDN博客

二. 例子

(8)输入字符串排序,只有一行

输入有两行,第一行n,第二行是n个字符串,字符串之间用空格隔开
输出一行排序后的字符串,空格隔开,无结尾空格

例:

输入:

5
c d a bb e

输出

a bb c d e

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        int num = in.nextInt();
        in.nextLine();
        String str = in.nextLine();
        String[] newstr = str.split(" ");
        Arrays.sort(newstr);
        for(int i = 0; i< newstr.length;i++){
            System.out.print(newstr[i]);
            if(i == newstr.length -1) break;
            System.out.print(" ");
        }
    }
}

 io版本

import java.io.*;
import java.util.Arrays;
public class Main{
    public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            int n = Integer.parseInt(br.readLine());
            String[] strs = br.readLine().split(" ");
            Arrays.sort(strs);
            for(int i = 0; i < n-1; i++) {
                System.out.print(strs[i] + " ");
            }
            System.out.println(strs[n-1]);
    }
}

(9)输入字符串排序,n行

多个测试用例,每个测试用例一行。
每行通过空格隔开,有n个字符,n<100
对于每组测试用例,输出一行排序过的字符串,每个字符串通过空格隔开

例:

输入:

a c bb
f dddd
nowcoder

输出:

a bb c
dddd f
nowcoder

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while(in.hasNextLine()){
            String[] str = in.nextLine().split(" ");
            Arrays.sort(str);
            for(int i = 0; i < str.length; i++){
                System.out.print(str[i]+" ");
            }
            System.out.println();
        }
    }
}

io版本

import java.io.*;
import java.util.Arrays;
 
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str;
        while ((str = br.readLine()) != null) {
            String[] strs = str.split(" ");
            Arrays.sort(strs);
            System.out.print(strs[0]);
            for (int i = 1; i < strs.length; i++) {
                System.out.print(" " + strs[i]);
            }
            System.out.println();
        }
    }
}

(10)输入字符串排序,n行,以逗号分隔

多个测试用例,每个测试用例一行。
每行通过,隔开,有n个字符,n<100
对于每组用例输出一行排序后的字符串,用','隔开,无结尾空格

例:

输入:

a,c,bb
f,dddd
nowcoder

输出:

a,bb,c
dddd,f
nowcoder

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while(in.hasNextLine()){
            String[] str = in.nextLine().split(",");
            Arrays.sort(str);
            System.out.print(str[0]);
            for(int i = 1; i < str.length; i++){
                System.out.print(","+str[i]);
            }
            System.out.println();
        }
    }
}

 io版本

import java.io.*;
import java.util.*;
public class Main{
    public static void main(String[] args) throws Exception{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line;
        while((line = br.readLine()) != null){
            String[] arry = line.split(",");
            Arrays.sort(arry);
            for(int i = 0;i<arry.length-1;i++){
               System.out.print(arry[i]+",");
            }
             System.out.println(arry[arry.length-1]);
        }
    }
}

(11)输入输出a+b,有陷阱版本

输入有多组测试用例,每组空格隔开两个整数
对于每组数据输出一行两个整数的和

例如:

输入:

1 1

输出:

2

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        while(in.hasNextLine()){
            String[] str = in.nextLine().split(" ");
            long a = Long.parseLong(str[0]);
            long b = Long.parseLong(str[1]);
            System.out.println(a+b);
        }
    }
}

这题的陷阱就在于数据不能用int,要用long,还有的情况要用大数,这题就不说了,因为用long型就可以通过全部的例子。

io版本

import java.util.*;
import java.io.*;
public class Main{
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String line;
        while((line=br.readLine()) != null){
            String[] str = line.split(" ");
            long sum = 0;
            for(String i:str){
                sum += Long.parseLong(i);
            }
            System.out.println(sum);
        }
         
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值