IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> OJ在线编程常见输入输出练习 -> 正文阅读

[开发测试]OJ在线编程常见输入输出练习

题目1: 计算a+b。输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。

import java.util.*;

// 类名必须为Main
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextInt()) {
            int a = sc.nextInt();
            int b = sc.nextInt();
            int sum = add(a, b);
            System.out.println(sum); // 必须要打印结果
        }
    }
    
    public static int add(int a, int b) {
        return a + b;
    }
}

题目2: 计算a+b。输入第一行包括一个数据组数t(1 <= t <= 100),接下来每行包括两个正整数a,b(1 <= a, b <= 10^9),例如:

输入:
2
1 5
10 20
输出:
6
30
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        for (int i = 0; i < t; i++) {
            int a = sc.nextInt();
            int b = sc.nextInt();
            int sum = add(a, b);
            System.out.println(sum);
        }
    }
    
    public static int add(int a, int b) {
        return a + b;
    }
}

题目3: 计算a+b。输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0, 0则结束输入。例如:

输入:
1 5
10 20
0 0 // 结束输入
输出:
6
30
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextInt()) {
            int a = sc.nextInt();
            int b = sc.nextInt();
            if (a == 0 && b == 0) {
                break;
            }
            int sum = add(a, b);
            System.out.println(sum);
        }
    }
    
    public static int add(int a, int b) {
        return a + b;
    }
}

题目4: 计算一系列数的和。输入数据包括多组,每组数据一行,每行的第一个整数为该组整数的个数 n (1 <= n <= 100),接下来为 n 个正整数,即需要求和的 n 个正整数。当 n 为 0 的时候结束输入。例如:

输入:
4 1 2 3 4
5 1 2 3 4 5
0 // 结束输入
输出:
10
15
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextInt()) {
            int n = sc.nextInt();
            if (n == 0) break;
            int sum = 0;
            for (int i = 0; i < n; i++) {
                sum += sc.nextInt();
            }
            System.out.println(sum);
        }
    }
}

题目5: 计算一系列数的和。输入的第一行是一个正整数t(1 <= t <= 100), 表示数据组数。接下来 t 行, 每行表示一组数据。每行的第一个整数为该组数据的个数 n (1 <= n <= 100),接下来 n 个正整数, 即该组需要求和的每个正整数。例如:

输入:
2
4 1 2 3 4
5 1 2 3 4 5
输出:
10
15
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        for (int i = 0; i < t; i++) {
            int n = sc.nextInt();
            int sum = 0;
            for (int j = 0; j < n; j++) {
                sum += sc.nextInt();
            }
            System.out.println(sum); // 一定要打印结果
        }
    }
}

题目6: 计算一系列数的和。输入数据有多组, 每行表示一组输入数据。每行的第一个整数为该组数据的个数n(1 <= n <= 100),接下来是 n 个正整数, 即该组需要求和的每个正整数。例如:

输入:
4 1 2 3 4
5 1 2 3 4 5
输出:
10
15
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextInt()) {
            int n = sc.nextInt();
            int sum = 0;
            for (int i = 0; i < n; i++) {
                sum += sc.nextInt();
            }
            System.out.println(sum);
        }
    }
}

题目7: 计算一系列数的和。输入数据有多组, 每行表示一组输入数据。每行不定有 n 个整数,空格隔开。(1 <= n <= 100)。

输入:
1 2 3
4 5
0 0 0 0 0
输出:
6
9
0
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()) {
            String str = sc.nextLine();
            String[] strs = str.split(" ");
            int sum = 0;
            for (int i = 0; i < strs.length; i++) {
                sum += Integer.parseInt(strs[i]);
            }
            System.out.println(sum);
        }
    }
}

总结: 基本数据类型 —> 字符串(String),使用String类中的valueOf()静态方法,该方法的参数为基本数据类型,如String.valueOf(int i);字符串(String) —> 基本数据类型,使用基本数据类型包装类中的静态方法,如Integer.parseInt(String s)。

题目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 sc = new Scanner(System.in);
        int n = sc.nextInt();
        String[] arr = new String[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.next(); // next()方法会将空格、tab键、enter键视为结束符
        }
        sort(arr); // 排序
        // 输出
        for (int i = 0; i < n; i++) {
            if (i == n - 1) {
                System.out.print(arr[i]);
            } else {
                System.out.print(arr[i] + " ");
            }
        }
    }
    
    // 选择法排序
    public static void sort(String[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            int index = i;
            for (int j = i + 1; j < arr.length; j++) {
                if (arr[i].compareTo(arr[j]) > 0) {
                    index = j;
                }
            }
            if (index != i) {
                String temp = arr[i];
                arr[i] = arr[index];
                arr[index] = temp;
            }
        }
    }
}

题目9: 对输入的字符串进行排序后输出。多个测试用例,每个测试用例一行,每行通过空格隔开,有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 sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            String str = sc.nextLine();
            String[] arr = str.split(" ");
            sort(arr); // 见题目8中的选择法排序
            for (int i = 0; i < arr.length; i++) {
                if (i == arr.length - 1) {
                    System.out.print(arr[i]);
                } else {
                    System.out.print(arr[i] + " ");
                }
            }
            if (sc.hasNextLine()) {
                System.out.println();
            }
        }
    }
}

题目10: 对输入的字符串进行排序后输出。多个测试用例,每个测试用例一行,每行通过,隔开,有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 sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            String str = sc.nextLine();
            String[] arr = str.split(",");
            sort(arr); // 见题目8中的选择法排序
            for (int i = 0; i < arr.length; i++) {
                if (i == arr.length - 1) {
                    System.out.print(arr[i]);
                } else {
                    System.out.print(arr[i] + ",");
                }
            }
            if (sc.hasNextLine()) {
                System.out.println();
            }
        }
    }
}

题目11: 本地自测通过,但提交通过率为0。每年前几场在线笔试编程题的时候,总有同学询问为什么我本地测试通过,自测也通过,提交代码系统却返回通过率0。请看下面的问题: 输入有多组测试用例,每组是空格隔开两个整数,输出每组两个整数的和。

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextLong()) {
            long a = sc.nextLong();
            long b = sc.nextLong();
            System.out.println(a + b);
        }
    }
}

注意: 本题易错的地方在于求两个整数的和,大多数人会使用hasNextInt()nextInt(),但如果是大数,则产生溢出,所以需要使用long类型,即把代码中所有的int替换为long。


结束语:如果本篇博客对您有帮助,请点赞、收藏或关注,您的鼓励是博主进步的动力,感谢支持,共同进步。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-09 10:31:40  更:2021-08-09 10:31:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 1:08:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码