欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java程序设计简单练习题

程序员文章站 2022-07-06 16:31:16
整理了一下最近做的Java练习题,编程新手请多指教1、编写一个实现由1到k的平方和计算package demo1.code1;import java.util.Scanner;public class Calculate_k { public static int calculation(int k) { int result = 0; for (int i = 1; i <= k; i++) { result = i * i +...

整理了一下最近做的Java练习题,编程新手请多指教
1、编写一个实现由1到k的平方和计算

package demo1.code1;
import java.util.Scanner;
public class Calculate_k {
    public static int calculation(int k) {
        int result = 0;
        for (int i = 1; i <= k; i++) {
            result = i * i + result;
        }
        return result;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int result;
        int num;
        System.out.print("输入一个整数:");
        num = sc.nextInt();
        result = calculation(5);
        System.out.println(result);
    }
}

2.用Java描述一个三角形,提供计算三角形面积方法。三角形的三个边长从键盘输入。

package demo1.code1;
import java.util.Scanner;
public class Triangle {
    private double a, b, c;  //三角形的三条边的边长
    public Triangle(double aa, double bb, double cc) {
        a = aa;
        b = bb;
        c = cc;
    }//构造函数
    public double getArea() {
        double p;
        double s;
        p = (a + b + c) / 2;
        s = p * (p - a) * (p - b) * (p - c);
        s = Math.sqrt(s);
        return s;
    }//计算三角形面积
    public static void main(String[] args) {
        double a, b, c;
        double s;
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入三角形的三条边:");
        a = sc.nextInt();
        b = sc.nextInt();
        c = sc.nextInt();
        Triangle tri = new Triangle(a, b, c);
        s = tri.getArea();
        System.out.println(s);
    }
}

3.假如今天是星期二,100天后将是星期几?

package demo1.code1;
public class CountDate {
    public static void main(String[] args) {
        int days = 100;
        int d;
        d = days % 7;
        System.out.println("假设今天是星期二");
        switch (d) {
            case 0:
                System.out.println("今天的100天后是星期二");
                break;
            case 1:
                System.out.println("今天的100天后是星期三");
                break;
            case 2:
                System.out.println("今天的100天后是星期四");
                break;
            case 3:
                System.out.println("今天的100天后是星期五");
                break;
            case 4:
                System.out.println("今天的100天后是星期六");
                break;
            case 5:
                System.out.println("今天的100天后是星期日");
                break;
            case 6:
                System.out.println("今天的100天后是星期一");
                break;
        }
    }
}

4.人民币的面值有100元,50元,20元,10元,5元,1元,5角,1角,5分,1分。编写程序实现从键盘输入1万元以内的任意数,然后分解成不同数量的,不同面值的人民币?

package demo1.code1;
import java.util.Scanner;
public class RMBDivision {
    public static void main(String[] args) {
        double rmb;
        int rmb_left;
        int rmb_fj;
        int hundred = 10000;
        int fif = 5000;
        int ten = 1000;
        int fiv = 500;
        int one = 100;
        double fivej = 50;
        double onej = 10;
        double fivef = 5;
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入人民币数值(单位:元):");
        rmb = sc.nextDouble();
        rmb_left = (int) rmb;
        rmb = rmb - rmb_left;
        rmb_left = rmb_left * 100;    //将用户输入的人民币单位从元化作分
        rmb = rmb * 100;
        rmb_fj = (int) rmb;
        hundred = rmb_left / hundred;
        rmb_left = rmb_left - hundred * 10000;
        fif = rmb_left / fif;
        rmb_left = rmb_left - fif * 5000;
        ten = rmb_left / ten;
        rmb_left = rmb_left - ten * 1000;
        fiv = rmb_left / fiv;
        rmb_left = rmb_left - fiv * 500;
        one = rmb_left / one;
        rmb_left = rmb_left - one * 100;
        fivej = rmb_fj / (int) fivej;
        rmb_fj = rmb_fj - (int) fivej * 50;
        onej = rmb_fj / (int) onej;
        rmb_fj = rmb_fj - (int) onej * 10;
        fivef = rmb_fj / (int) fivef;
        rmb_fj = rmb_fj - (int) fivef * 5;
        System.out.println("该数值的人民币可分解为" + hundred + "张一百元," + fif + "张五十元," + ten + "张十元," + fiv + "张五元," +
                one + "张一元," + (int) fivej + "张五角," + (int) onej + "张一角," + (int) fivef + "张五分," + rmb_fj + "张一分纸币。");
    }

}
5.编写程序,提示输入两点(x1,y1)和(x2,y2),然后计算两点之间的距离。

package demo1.code1;
import java.util.Scanner;
public class DistanceOfTwoPoints {
    public static double distance(double a, double b, double c, double d) {
        double distance;
        distance = Math.sqrt((a - c) * (a - c) + (b - d) * (b - d));
        return distance;
    }
    public static void main(String[] args) {
        double a, b, c, d;
        double dist;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个点的横坐标与纵坐标(空格键隔开):");
        a = sc.nextDouble();
        b = sc.nextDouble();
        System.out.println("请输入第二个点的横坐标与纵坐标(空格键隔开):");
        c = sc.nextDouble();
        d = sc.nextDouble();
        dist = distance(a, b, c, d);
        System.out.print("两点之间的距离为:" + dist);
    }
}

6.已知三角形的底边和高尺寸分别是56厘米、120厘米,计算该三角形的面积?

package demo1.code1;
public class Triangle02 {
    private double bottom, height;  //三角形的底边和高
    public Triangle02(double b, double h) {
        bottom = b;
        height = h;
    }//构造函数
    public double getArea() {
        double s;
        s = bottom * height / 2;
        return s;
    }
    public static void main(String[] args) {
        double result;
        Triangle02 tri = new Triangle02(56, 120);
        result = tri.getArea();
        System.out.println("三角形的面积为" + result + "平方厘米。");
    }
}

7.从键盘输入三个整数,分别计算它们的平均值、累加和、最大值和最小值。

package demo1.code1;
import java.util.Scanner;
public class ThreeNumCalculation {
    public static int Sum(int a, int b, int c) {
        int result;
        result = a + b + c;
        return result;
    }
    public static int Average(int a, int b, int c) {
        int result;
        result = (a + b + c) / 3;
        return result;
    }
    public static int Max(int a, int b, int c) {
        int max;
        if (a > b) {
            max = a;
        } else {
            max = b;
        }
        if (max > c) {
            return max;
        } else {
            return c;
        }
    }
    public static int Min(int a, int b, int c) {
        int min;
        if (a < b) {
            min = a;
        } else {
            min = b;
        }
        if (min < c) {
            return min;
        } else {
            return c;
        }
    }
    public static void main(String[] args) {
        int a, b, c;
        int result;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入三个整数:");
        a = sc.nextInt();
        b = sc.nextInt();
        c = sc.nextInt();
        result = Average(a, b, c);
        System.out.println("三个数的平均值为:" + result);
        result = Sum(a, b, c);
        System.out.println("三个数的累加和为:" + result);
        result = Max(a, b, c);
        System.out.println("三个数中的最大值为:" + result);
        result = Min(a, b, c);
        System.out.println("三个数中的最小值为:" + result);
    }
}

8.已知圆的半径为R,从键盘输入R的值,分别计算圆的面积和周长。

package demo1.code1;
import java.util.Scanner;
public class Circle {
    private double radius;
    public Circle(double R) {
        radius = R;
    }
    public double getCircumference() {
        return 2 * 3.14 * radius;
    }
    public double getArea() {
        return 3.14 * radius * radius;
    }
    public static void main(String[] args) {
        double result;
        double R;
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入圆半径大小:");
        R = sc.nextDouble();
        Circle cir = new Circle(R);
        result = cir.getArea();
        System.out.println("圆的面积为:" + result);
        result = cir.getCircumference();
        System.out.println("圆的周长为:" + result);
    }
}

9.编写程序生成15个随机(int类型)整数?

package demo1.code1;
import java.util.Random;
public class FifteenRandomInt {
    public static void main(String[] args) {
        int num;
        Random ran = new Random();
        for (int i = 0; i < 15; i++) {
            num = ran.nextInt(100);
            System.out.print(num + " ");
        }
    }
}

10.有一三角形的三个顶点A(x,y)、B(x,y)和C(x,y),编写程序从键盘输入三个顶点的坐标,然后计算这个三角形的三个边长和面积?

package demo1.code1;
import java.util.Scanner;
public class Triangle03 {
    private double fir_x, fir_y;
   private double sec_x, sec_y;
   private double thi_x, thi_y;
   public Triangle03(double fx, double fy, double sx, double sy, double tx, double ty) {
        fir_x = fx;
        fir_y = fy;
        sec_x = sx;
        sec_y = sy;
        thi_x = tx;
        thi_y = ty;
    }
    public static double distance(double a, double b, double c, double d) {
        double distance;
        distance = Math.sqrt((a - c) * (a - c) + (b - d) * (b - d));
        return distance;
    }
    public double getPerimeter() {
        double dist1 = distance(fir_x, fir_y, sec_x, sec_y);
        double dist2 = distance(fir_x, fir_y, thi_x, thi_y);
        double dist3 = distance(sec_x, sec_y, thi_x, thi_y);
        return dist1 + dist2 + dist3;
    }
    public double getArea() {
        double p;
        double s;
        double dist1 = distance(fir_x, fir_y, sec_x, sec_y);
        double dist2 = distance(fir_x, fir_y, thi_x, thi_y);
        double dist3 = distance(sec_x, sec_y, thi_x, thi_y);
        p = (dist1 + dist2 + dist3) / 2;
        s = p * (p - dist1) * (p - dist2) * (p - dist3);
        s = Math.sqrt(s);
        return s;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double a, b, c, d, e, f;
        System.out.print("请输入三角形第一个顶点坐标(空格键隔开):");
        a = sc.nextDouble();
        b = sc.nextDouble();
        System.out.print("请输入三角形第二个顶点坐标(空格键隔开):");
        c = sc.nextDouble();
        d = sc.nextDouble();
        System.out.print("请输入三角形第三个顶点坐标(空格键隔开):");
        e = sc.nextDouble();
        f = sc.nextDouble();
        Triangle03 tri = new Triangle03(a, b, c, d, e, f);
        System.out.println("该三角形的周长为:" + tri.getPerimeter());
        System.out.println("该三角形的面积为:" + tri.getArea());
    }
}

11.编写程序,提示从键盘输入一个字符串,然后显示字符串的长度及第一个和最后一个字符?

package demo1.code1;
import java.util.Scanner;
public class StringLength {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = new String();
        int length;
        System.out.print("请输入一个字符串:");
        str = sc.nextLine();
        length = str.length();
        char[] c = str.toCharArray();
        char last_char = c[length - 1];
        System.out.println("该字符串长度为:" + length);
        System.out.println("该字符串最后一个字符为:" + last_char);
    }
}

12.编写程序,提示从键盘输入两个字符串,然后检测第二个字符串是否包含于第一个串中?例如,字符串“Lambda expressions let you express instances of single-method classes more compactly.”和“express”,其中“express”包含于第一个字符串内。

package demo1.code1;
import java.util.Scanner;
public class TwoStringsContains {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str1, str2;
        System.out.print("请输入第一个字符串:");
        str1 = sc.nextLine();
        System.out.print("请输入第二个字符串:");
        str2 = sc.nextLine();
        if (str1.contains(str2)) {
            System.out.println("第二个字符串包含于第一个字符串内。");
        } else {
            System.out.println("第二个字符串不包含于第一个字符串内。");
        }
    }
}

13.编写程序生成2016个随机(int类型)整数,然后按“升序”排序?

package demo1.code1;
import java.util.Arrays;
import java.util.Random;
public class RandomInt2016 {
    public static void main(String[] args) {
        int num;
        Random ran = new Random();
        int[] array = new int[2016];
        for (int i = 0; i < 2016; i++) {
            num = ran.nextInt(2000);
            array[i] = num;
        }
        Arrays.sort(array);
        System.out.println(Arrays.toString(array));
    }
}

14.编写一个Java类实现查找1~n之间的素数?

package demo1.code1;
import java.util.Scanner;
public class OneToNPrime {
    public static void findPrime(int num) {
        boolean isPrime = true;
        for (int i = 2; i <= num; i++) {
            for (int j = 2; j < i; j++) {// 不能写j<=i,任何数都能被自身整除
                if (i % j == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) {
                System.out.print(i + " ");
            }
            isPrime = true;
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num;
        System.out.println("请输入一个正整数:");
        num = sc.nextInt();
        System.out.println("1~" + num + "之间的素数有:");
        findPrime(num);
    }
}

15.阶乘函数f(n)=n!,其中n为正整数。试设计一个计算阶乘的方法,并计算f(5)和f(10)的值。

package demo1.code1;
import java.util.Scanner;
public class CalculateFactorial {
    public static int calculateFactorial(int num) {
        int result = 1;
        for (int i = 1; i <= num; i++) {
            result = result * i;
        }
        return result;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int result;
        int num;
        System.out.println("请输入一个正整数:");
        num = sc.nextInt();
        result = calculateFactorial(num);
        System.out.println(num + "!=" + result);
    }
}

16.有整数M,求出小于M的所有素数?

package demo1.code1;
import java.util.Scanner;
public class CalculateFactorial {
    public static int calculateFactorial(int num) {
        int result = 1;
        for (int i = 1; i <= num; i++) {
            result = result * i;
        }
        return result;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int result;
        int num;
        System.out.println("请输入一个正整数:");
        num = sc.nextInt();
        result = calculateFactorial(num);
        System.out.println(num + "!=" + result);
    }
}

17、利用下列数列计算圆周率的近似值。
Java程序设计简单练习题

package demo1.code1;
import java.util.Scanner;
public class CalculateΠ {
    public static double calculate(int num) {
        double result = 1;
        double sign = -1;// 如果sign是int类型的话会造成数据精度丢失
        for (int i = 2; i <= num; i++) {
            result = result + (sign / (2 * i - 1));
            sign *= (-1);
        }
        result *= 4;
        return result;
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num;
        System.out.println("请输入一个整数:");
        num = sc.nextInt();
        System.out.println("圆周率的近似值为:" + calculate(num));
    }
}

本文地址:https://blog.csdn.net/weixin_48609829/article/details/107265862