Java程序设计:Java基础编程作业函数题(PTA)

6-1是否偶数

本题要求实现一个函数,判盘输入的整数是否是偶数,如果是偶数,返回true,否则返回false。

函数接口定义:

public static boolean isOdd(int data)

说明:其中 data 是用户传入的参数。 data 的值不超过int的范围。函数须返回 true 或者 false

裁判测试程序样例:

import java.util.Scanner;
public class Main {

    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int data=in.nextInt();
        System.out.println(isOdd(data));
    }
    
    
    /* 请在这里给出isOdd(i)函数 */
    
    
}

输入样例:

8

输出样例:

true

实验代码:

public static boolean isOdd(int data)
{
    if(data % 2==0)
    {
        return true;
    }
    else
    {
        return false;
    }
}

6-2 数字校验

本题要求实现一个函数,校验一个13位正整数号码是否正确。13位号码的最后一位是校验码。通过对前12位数字的加减乘除运算得到一个一位数字,如果和第13位数字相同,表示正确的号码。

1、从最右边第12位开始间隔一位个位数相加,然后乘7。

2、剩下的其余数字相加,然后乘2 。

3、再把两者加起来,除以10取余数

4、和第13位相校验,匹配就正确,不匹配则错误。

裁判测试程序样例:

import java.util.Scanner;
public class Main {
    /* 请在这里填写答案 */
    public static void main(String[] args) {
                    Scanner in = new Scanner(System.in);
                    long code = in.nextLong();

                    boolean checksumResult = checksum(code);
                    if (checksumResult)
                         System.out.println("The checksum of "+code+" is "+ "correct");
                    else
                            System.out.println("The checksum of "+code+" is "+ "incorrect");
            }
}

输入样例1:

在这里给出一组输入。例如:

1234567890126

输出样例1:

在这里给出相应的输出。例如:

The checksum of 1234567890126 is correct

输入样例2:

在这里给出一组输入。例如:

2345677654329

输出样例2:

在这里给出相应的输出。例如:

The checksum of 2345677654329 is incorrect

实验代码:

public static boolean checksum(long code){
    long a = 0;
    long b = 0;
    long c = code;
    for(int i = 0; i < 12; i++){
        if(i % 2 == 0){
            c /= 10;
            a += c%10;
        }else{
            c /= 10;
            b += c%10;
        }
    }
    long sum = (a*7+b*2)%10;
    if(sum == code%10){
        return true;
    }else{
        return false;
    }
}

6-3 sdut-fun-1 最大公约数与最小公倍数

输入两个正整数,求它们的最大公约数与最小公倍数。

输入:两个正整数,两个整数之间用空格分开。数据保证在 int 范围内。
输出:第一行输出最大公约数;第二行输出最小公倍数。答案保证在 int 范围内。

函数接口定义:

    public static int gcd ( int m, int n ) //求最大公约数
    {
        return 0;
    }
    public static int lcm ( int m, int n ) //求最小公倍数
    {
        return 0;
    }

其中,参数m和n分别表示2个待求最大公约数的数值。

裁判测试程序样例:

import java.util.*;
public class  Main{
    
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        int a = reader.nextInt();
        int b = reader.nextInt();
        
        System.out.println(gcd(a,b));
        System.out.println(lcm(a,b));
        reader.close();
    }

/* 请在这里填写答案 */

}

输入样例1:

18 12

输出样例1:

6
36

输入样例2:

2 18

输出样例2:

2
18

实验代码:

public static int gcd ( int m, int n ) //求最大公约数{
        int g;
        int min=(m<n)?m:n;
        for(int i = min;;i--){
            if(m%i==0 && n%i==0){
                g = i;
                break;
            }
        }
        return g;
    }
    public static int lcm ( int m, int n ) //求最小公倍数{
        int l;
        if(m>n){
            for(int i = m;;i++){
                if (i % m == 0 && i % n == 0) {
                    l = i;
                    break;
                }
            }
        }else{
            for(int i = n;;i++){
                if (i % m == 0 && i % n == 0) {
                    l = i;
                    break;
                }
            }
        }
        return l;
    }

6-4 sdut-fun-4 求球的体积

根据输入的半径值,计算球的体积。 输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。 输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。 已知:PI=3.1415926

函数接口定义:

 //请根据主方法中的上下文及题目要求自行定义所需要的方法。

裁判测试程序样例:

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner reader =new Scanner(System.in);
        double r;  //球的半径
        while(reader.hasNext())
        {
            r=reader.nextDouble();
            System.out.printf("%.3f\n",volumn(r));
        }
    }

/* 请在这里填写答案 */

}

输入样例:

1
2
3
4

输出样例:

4.189
33.510
113.097
268.083

实验代码:

public static double volumn(double r){
        double PI = 3.1415926;
        double v = 4.0*PI*r*r*r/3;
        return v;
}

6-5 sdut-fun-5-组合数的计算

在数学中,从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。在线性写法中被写作C(n,m)。
组合数的计算公式为:
 

输入格式: 第一行为一个整数n,表示有多少组测试数据。(n <= 100000) 第2-n+1行,每行两个整数分别代表a,b;中间用空格隔开。(a,b <= 40) 输出格式: 对于每组输入,输出其组合数的值。每个输出占一行。

函数接口定义:

 public static int factorial(int n) ; //求n的阶乘

裁判测试程序样例:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        int count = reader.nextInt();
        for (int i = 0; i < count; i++) {
            int n = reader.nextInt();
            int m = reader.nextInt();
            System.out.println(factorial(n) / (factorial(m) * factorial(n - m)));
        }
        reader.close();
    }

/* 请在这里填写答案 */

}

输入样例:

4
3 1
4 2
5 0
1 1

输出样例:

3
6
1
1

实验代码:

public static int factorial(int n){
    int f=1;
    for(int i=2; i <= n; i++){
        f*=i;
    }
    return f;
}
  • 1
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Java程序设计基础是指学习和掌握Java编程语言的基本概念、语法和技巧。下面是一些Java程序设计基础的内容: 1. Java语言特点:Java是一种面向对象的编程语言,具有简单、可移植、安全、高性能等特点。 2. 基本语法:Java的基本语法包括变量、数据类型、运算符、控制流程(条件语句、循环语句)、数组等。 3. 面向对象编程Java是一种面向对象的编程语言,具有封装、继承、多态等特性。学习面向对象编程的概念和原则是Java程序设计基础。 4. 类和对象:Java中的类是对象的模板,对象是类的实例。学习如何定义类、创建对象、访问对象的属性和方法等是Java程序设计基础。 5. 方法和函数Java中的方法用于封装可重用的代码块,函数是方法的一种殊形式。学习如何定义和调用方法、传参数等是Java程序设计基础。 6. 异常处理:Java提供了异常处理机制,用于处理程序运行过程中可能出现的异常情况。学习如何捕获和处理异常是Java程序设计基础。 7. 输入输出:Java提供了丰富的输入输出类和方法,用于处理文件、网络等输入输出操作。学习如何读写文件、网络编程等是Java程序设计基础。 8. 集合框架:Java提供了一套集合框架,用于存储和操作数据集合。学习如何使用集合框架进行数据操作是Java程序设计基础。 9. 多线程编程Java支持多线程编程,可以同时执行多个任务。学习如何创建和管理线程、线程同步等是Java程序设计基础。 10. GUI编程Java提供了Swing和JavaFX等图形用户界面库,用于开发图形界面应用程序。学习如何使用GUI库进行界面设计和事件处理是Java程序设计基础。 以上是Java程序设计基础的一些内容,希望对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力敲代码呀~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值