Java课后作业(二)

1.输入三边的长度,求三角形的面积和周长(海伦公式)

import java.util.Scanner;

public class Demo16 {
	
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入三角形的三个点的坐标:");
		double x1=sc.nextDouble();
		double y1=sc.nextDouble();
		double x2=sc.nextDouble();
		double y2=sc.nextDouble();
		double x3=sc.nextDouble();
		double y3=sc.nextDouble();
		double d1=Math.pow(Math.pow((x2-x1), 2)+Math.pow((y2-y1), 2),0.5);
		double d2=Math.pow(Math.pow((x3-x1), 2)+Math.pow((y3-y1), 2),0.5);
		double d3=Math.pow(Math.pow((x3-x2), 2)+Math.pow((y3-y2), 2),0.5);
		double s=(d1+d2+d3)/2;
		double n=s*(s-d1)*(s-d2)*(s-d3);
		double m=Math.pow(n, 0.5);
		System.out.println("三角形的周长是"+s*2);
		System.out.println("三角形的面积是"+m);
	}
}

结果:在这里插入图片描述
2.设计一个程序,完成(英雄)商品的购买
展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款
输入付款金额->打印购买小票(扩展)

import java.util.Scanner;

public class Print3 {
	
	public static void main(String[] args) {
		System.out.println("    	英雄商城英雄列表	");
		System.out.println("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n");
		System.out.println("编号  姓名     昵称     价格  库存  描述\n");
		System.out.println("1     纳尔   迷失之牙  3500  100  丛林不会原谅盲目与无知\n");
		System.out.println("2     锐雯   放逐之刃  4000  100  她是残忍高效的战士\n");
		System.out.println("3     薇恩   暗夜猎手  3500  100  这个世界不想人们想象的那么美好\n");
		System.out.println("4     扎克   生化魔人  3000  100  即使你没有脊柱,你也必须站起来\n");
		System.out.println("5     杰斯  未来守护者 2500  100  武装着睿智与魅力,你的选择没有错\n");
		System.out.println("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~");
		System.out.println("(温馨提示)请输入您要购买的英雄编号:");
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		System.out.println("请支付您的费用");
		int money=sc.nextInt();
		switch (n) {
		case 1:
			if (money>=3500) {
				System.out.print("购买成功!找您"+(money-3500)+"元");
			}
			else {
				System.out.print("余额不足!");
			}
			break;
		case 2:
			if (money>=4000) {
				System.out.print("购买成功!找您"+(money-3500)+"元");
			}
			else {
				System.out.print("余额不足!");
			}
			break;
		case 3:
			if (money>=3500) {
				System.out.print("购买成功!找您"+(money-3500)+"元");
			}
			else {
				System.out.print("余额不足!");
			}
			break;
		case 4:
			if (money>=3000) {
				System.out.print("购买成功!找您"+(money-3500)+"元");
			}
			else {
				System.out.print("余额不足!");
			}
			break;
		case 5:
			if (money>=2500) {
				System.out.print("购买成功!找您"+(money-3500)+"元");
			}
			else {
				System.out.print("余额不足!");
			}
			break;
		}	
	}
}

在这里插入图片描述
3.请输入一个数,判断这个数是偶数还是奇数,
如果使用偶数,请判断从1到该数是3的倍数有哪些
如果是奇数,请判断从1到该数是5的倍数有哪些

package oupeng.week2.HomeWork;

import java.util.Scanner;

public class HomeWorkDemo1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数:");
        int num = sc.nextInt();
        if ((num & 1) == 0) {
            for (int i = 1; i <= num; i++) {
                if (i % 3 == 0) {
                    System.out.print(i);
                    System.out.print(" ");
                }
            }
            System.out.println();
            System.out.println(num+"是偶数");
        } else {
            for (int i = 1; i <= num; i++) {
                if (i % 5 == 0) {
                    System.out.print(i);
                    System.out.print(" ");
                }
            }
            System.out.println();
            System.out.println(num+"是奇数");
        }
    }
}

在这里插入图片描述
在这里插入图片描述
4.循环输入某同学S1结业考试的5门课成绩,并计算平均分

package oupeng.week2.HomeWork;

import java.util.Scanner;

public class HomeWorkDemo2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入5门学科成绩:");
        double sum = 0;
        for (int i = 0; i < 5; i++) {
            double a = sc.nextDouble();
            sum += a;
        }
        System.out.print("平均分是" + sum / 5);
    }
}

在这里插入图片描述
5.请从控制台输入一个数,是质数(素数)还是合数
提示:从2开始,只能被1和它本身除尽的数,是质数(素数)

package oupeng.week2;

import java.util.Scanner;

public class CirculateDemo3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个整数:");
        int s = sc.nextInt();
        int count = 0;
        for (int i = 1; i <= s; i++) {
            if (s % i == 0) {
                count++;
            }
        }
        if (count > 2) {
            System.out.println("不是素数");
        } else {
            System.out.println("是素数");
        }
    }
}

在这里插入图片描述
6.求1~100之间不能被3整除的数之和

package oupeng.week2.HomeWork;

public class HomeWorkDemo3 {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i < 100; i++) {
            if (i % 3 != 0) {
                sum += i;
            }
        }
        System.out.println(sum);
    }
}

在这里插入图片描述
7.打印一个表格
根据用户输入的数

1	1*1	1*1*1
2	2*2	2*2*2
....

n	n平方	n立方
package oupeng.week2.HomeWork;

import java.util.Scanner;

public class HomeWorkDemo4 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入打印数的范围:");
        int min=sc.nextInt();
        int max=sc.nextInt();
        for (int i=min;i<=max;i++){
            System.out.println(i+" "+i+"*"+i+" "+i+"*"+i+"*"+i);
        }
    }
}

在这里插入图片描述
8.请使用循环完成如下图案的打印

在这里插入图片描述
在这里插入图片描述
只做了前三个

package oupeng.week2.HomeWork;

public class HomeWorkDemo31 {
    public static void main(String[] args) {
        for (int i=0;i<6;i++){
            for (int j=0;j<=i;j++){
                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println("---------------------------------------------------");
       for (int i=0;i<=4;i++){
            for (int j=4;j>i;j--){
                System.out.print(" ");
            }
            for (int k=0;k<2*i-1;k++){
                System.out.print("*");
            }
            System.out.println();
        }
        System.out.println("---------------------------------------------------");
        for (int i=1;i<=4;i++){
            for (int k=1;k<=i;k++){
                System.out.print(" ");
            }
            for (int j=2*4-1;j>=2*i-1;j--){
                System.out.print("*");
            }

            System.out.println();
        }
    }
}

在这里插入图片描述
9.请在控制台上输入两个数,并且输入一个符号(±*/%),使用switch语句

package oupeng.week2.HomeWork;

import java.util.Scanner;

public class HomeWorkDemo5 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入两个数:");
        int a=sc.nextInt();
        int b= sc.nextInt();
        System.out.println("请输入一个符号:");
        String s= sc.next();
        switch (s){
            case "+":
                System.out.println(a+b);
                break;
            case "-":
                System.out.println(a-b);
                break;
            case "*":
                System.out.println(a*b);
                break;
            case "/":
                System.out.println(a/b);
                break;
            case "%":
                System.out.println(a%b);
                break;
        }
    }
}

在这里插入图片描述
10.100~1000返回内,能被5和6整除的数

package oupeng.week2.HomeWork;

public class HomeWorkDemo6 {
    public static void main(String[] args) {
        for (int i=100;i<1000;i++){
            if(i%5==0&&i%6==0){
                System.out.print(i+" ");
            }
        }
    }
}

在这里插入图片描述
11.输入一个年份,判断该年是否是闰年

package oupeng.week2.HomeWork;

import java.util.Scanner;

public class HomeWorkDemo7 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个年份:");
        int year = sc.nextInt();
        if ((0 == year % 4 && year % 100 != 0) || (0 == year % 400)) {
            System.out.println("是闰年");
        } else {
            System.out.println("不是闰年");
        }
    }
}

在这里插入图片描述
12.健康计划
用户输入身高(m),体重(kg)
计算公式:BMI =身高/ 体重^2
BMI < 18.5:过轻
18.5≤ BMI <24:正常
24 ≤ BMI <27:过重
27 ≤ BMI < 30:轻度肥胖
30 ≤ BMI < 35:中度肥胖
BMI ≥ 35:重度肥胖

package oupeng.week2.HomeWork;

import java.util.Scanner;

public class HomeWorkDemo8 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入您的身高和体重:");
        double h=sc.nextDouble();
        double w= sc.nextDouble();
        double BMI=w/(Math.pow(h,2));
        if (BMI>=35){
            System.out.println("重度肥胖");
        } else if (BMI>=30) {
            System.out.println("中度肥胖");
        } else if (BMI>=27) {
            System.out.println("轻度肥胖");
        }else if (BMI>=24) {
            System.out.println("过重");
        } else if (BMI>=18.5) {
            System.out.println("正常");
        }
        if (BMI<18.5){
            System.out.println("过轻");
        }
    }
}

在这里插入图片描述
13.一个自然数与3的和是5的倍数,与3的差是6的倍数,这个自然数最小是几?

package oupeng.week2.HomeWork;

public class HomeWorkDemo9 {
    public static void main(String[] args) {
        for (int i=0;i<50;i++){
            if (((i+3)%5==0)&&(i-3)%6==0){
                System.out.println(i);
            }
        }
    }
}

在这里插入图片描述
14.在400–500之间求一个数,它被2除余1,被5除余3,被9除余1,这个数是多少?

package oupeng.week2.HomeWork;

public class HomeWorkDemo10 {
    public static void main(String[] args) {
        for (int i=400;i<=500;i++){
            if((i%2==1)&&(i%5==3)&&(i%9==1)){
                System.out.println(i);
            }
        }
    }
}

在这里插入图片描述
15.有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?

package oupeng.week2.HomeWork;

import java.util.TreeSet;

public class HomeWorkDemo11 {
    public static void main(String[] args) {
        TreeSet a=new TreeSet();
       for (int j=0;j<=9;j++) {
           for (int i = 1; i <= 9; i++) {
               if (((i * 1000 + 360 + j) % 2 == 0) && ((i * 1000 + 360 + j) % 3 == 0)) {
                   a.add(i * 1000 + 360 + j);
               }
           }
       }
        System.out.println("最小值"+a.first());
        System.out.println("最大值"+a.last());
    }
}

在这里插入图片描述
16.编程求一个四位自然数ABCD,它乘以A后变成DCBA


package oupeng.week2.HomeWork;

public class HomeWorkDemo12 {
    public static void main(String[] args) {
        for (int i=1000;i<=9999;i++){
           if((i/1000)*i==(i%10)*1000+(i%100/10)*100+(i/100%10)*10+i/1000) {
               System.out.println(i);
           }
        }
    }
}

在这里插入图片描述
17.编程求出满足以下条件的三位数:它除以11所得的商等于
它各位数字之和.

package oupeng.week2.HomeWork;

public class HomeWorkDemo13 {
    public static void main(String[] args) {

        for (int i=100;i<=999;i++){
            int  bai=i/100;
            int shi=i/10%10;
            int ge=i%10;
            if (bai+shi+ge==i/11){
                System.out.println(i);
            }
        }
    }
}

在这里插入图片描述
18.某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去
除余数都是1,求这 个自然数.

package oupeng.week2.HomeWork;

public class HomeWorkDemo14 {
    public static void main(String[] args) {
        for (int i=1;i<10000;i++){
            int s=80/i;
                if (s%7==0&&(i%2==1)&&(i%3==1)&&(i%4==1)&&(i%5==1)&&(i%6==1)){
                    System.out.println(i);
                }
            }
        }
    }

在这里插入图片描述
19…有一种最简真分数,它们的分子与分母的乘积都是140,把
所有这样的真分数从小到大打印出来

package oupeng.week2.HomeWork;

public class HomeWorkDemo15 {
    public static void main(String[] args) {
        int index = 0;
        for (int i = 1; i <= 140; i++) {
            for (int j = i + 1; j <= 140; j++) {
                if (i * j == 140) {
                    for (int x = 1; x <= i; x++) {
                        if ((i % x == 0) && (j % x == 0)) {
                            index++;
                        }
                    }
                    if (index == 1) {
                        System.out.println("分子与分母的乘积是140的真分数为:\t" + i + "/" + j);
                    }
                    index = 0;
                }
            }
        }
    }
}


在这里插入图片描述
20…一个五位数,若在它的后面写上一个7,得到一个六位数A,
若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此
五位数.

package oupeng.week2.HomeWork;

public class HomeWorkDemo16 {
    public static void main(String[] args) {
            for (int i=10000;i<100000;i++){
                if ((i*10+7)*5==(7*100000+i)){
                    System.out.println(i);
                }
            }
    }
}

在这里插入图片描述
21…验证:任意一个大于9的整数减去它的各位数字之和所得
的差,一定能被9整除.

package oupeng.week2.HomeWork;

public class HomeWorkDemo17 {
    public static void main(String[] args) {
        System.out.println(isTrue(10));
    }

    public static boolean isTrue(int num){
        if (num<9){
            return false;
        }
        else {
            int startNum=num;
            int count=0;
            while (num!=0){
                int temp=num%10;
                count+=temp;
                num/=10;
            }
            if ((startNum-count)%9==0){
                return true;
            }
        }
        return false;
    }
}


在这里插入图片描述
22.求水仙花数。
ABC = a3+b3+c^3

package oupeng.week2.HomeWork;

public class HomeWorkDemo19 {
    public static void main(String[] args) {
        for (int i=100;i<1000;i++){
            int ge=i%10;
            int shi=i/10%10;
            int bai=i/100;
            if (i==Math.pow(ge,3)+Math.pow(shi,3)+Math.pow(bai,3)){
                System.out.println(i);
            }
        }
    }
}

在这里插入图片描述
23.求 a+aa+aaa+…+aaaaaaaaa=?
其中a为1至9之中的一个数,项数也要可以指定。

package oupeng.week2.HomeWork;

import java.util.Scanner;

public class HomeWorkDemo20 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入指定的项数:");
        int d=sc.nextInt();
        System.out.println("请输入1-9的数:");
        int a=sc.nextInt();
        int a1=a;
        int sum=0;
        for (int i=1;i<=d;i++){
            sum+= a;
            a = 10*a +a1;
        }
        System.out.println(sum);
    }
}

在这里插入图片描述

24.求 2/1+3/2+5/3+8/5+13/8…前20项之和?

package oupeng.week2.HomeWork;

public class HomeWorkDemo21 {
    public static void main(String[] args) {
        double a=2;
        double b=1;
        double num;
        double sum=0;
        for (int i=1;i<=20;i++){
                num=a/b;
                sum+=num;
                a+=b;
                b=a-b;

        }
        System.out.println("前20项的和为:"+sum);
    }
}

在这里插入图片描述
25.根据完整的路径从路径中分离文件路径、文件名及扩展

传递一个路径 c://a//b//c.avi,返回该文件的后缀名

package oupeng.week2.HomeWork;

public class HomeWorkDemo22 {
    public static void main(String[] args) {
        String s = "c://a//b//c.avi";
        String[] a = s.split("//");
        String s1 = a[a.length - 1];
        String[] b = s1.split("\\.");
        System.out.println(b[b.length - 1]);
    }
}

在这里插入图片描述
26.输入一个字符串,判断该字符串是否是回文字符串

package oupeng.week2;

import java.util.Scanner;

//回文
public class StringDemo1 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String s = sc.next();
        int start = 0;
        int end = s.length() - 1;
        while (start < end) {
            if (s.charAt(start) == s.charAt(end)) {
                System.out.println("是回文字符串");
                return;
            }
            start++;
            end--;
        }
         System.out.println("不是回文字符串");
    }
}

在这里插入图片描述
27.去掉字符串中的所有空格

package oupeng.week2.HomeWork;

import java.util.Scanner;

public class HomeWorkDemo24 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一句话:");
        String s = sc.nextLine();
        System.out.println(DeleteAllSpace(s));
    }

    public static String DeleteAllSpace(String s) {
        String a = s.replaceAll(" ", "");
        String s1 = a.trim();
        return s1;
    }
}

在这里插入图片描述
28.将字母全部转换为大写或小写

package oupeng.week2.HomeWork;

import java.util.Locale;
import java.util.Scanner;

public class HomeWorkDemo25 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一串字母:");
        String s=sc.nextLine();
        System.out.println("转大写:"+s.toUpperCase());
        System.out.println("转小写:"+s.toLowerCase());
    }
}

在这里插入图片描述
29.接收用户输入的一句英文,将其中的单词以反序输
出,“hello c sharp”→“sharp c hello”。

package oupeng.week2.HomeWork;

import java.util.Scanner;

public class HomeWorkDemo26 {
    public static void main(String[] args) {
        Scanner sc =new Scanner(System.in);
        System.out.println("请输入一句英文:");
        String s=sc.nextLine();
        D(s);
    }

    public static void D(String s){
        String s1[]=s.split(" ");
        int start=0;
        int end=s1.length-1;
        while(start<end){
            String temp=s1[start];
            s1[start]=s1[end];
            s1[end]=temp;
            start++;
            end--;
        }
     for (int i=0;i<=s1.length-1;i++){
         System.out.print(s1[i]);
         System.out.print(" ");
     }
    }
}

在这里插入图片描述
30.从请求地址中提取出用户名和域名
http://www.163.com?userName=admin&pwd=123456

package oupeng.week2.HomeWork;

public class HomeWorkDemo27 {
    public static void main(String[] args) {
        String s="http://www.163.com?userName=admin&pwd=123456";
        String s1[]=s.split("//");
        String s2[]=s1[s1.length-1].split("\\?");
        System.out.println("域名:"+s2[0]);
        String s3[]= s2[s2.length-1].split("&");
        String s4= s3[0].replace("userName=","用户名:");
        System.out.println(s4);

    }
}

在这里插入图片描述
31.让用户输入一句话,找出所有"呵"的位置。

package oupeng.week2.HomeWork;

import java.util.Scanner;

public class HomeWorkDemo28 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一句话:");
        String s=sc.nextLine();
        Search(s);
    }

    public static void Search(String s){
        for (int i=0;i<=s.length()-1;i++){
            if (s.charAt(i)=='呵'){
                System.out.print(i+" ");
            }
        }
    }
}

在这里插入图片描述
32.让用户输入一句话,判断这句话中有没有邪恶,如果有邪
恶就替换成这种形式然后输出,如:“老牛很邪恶”,输出后变
成”老牛很**”;

package oupeng.week2.HomeWork;

import java.util.Scanner;

public class HomeWorkDemo29 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一段话:");
        String s=sc.nextLine();
        String s1=s.replace("邪恶","**");
        System.out.println(s1);
    }
}

在这里插入图片描述
33.猜字游戏,计算机随机一个0~100的整数,每次用户输出字猜,
提示如下:
猜大了,重新猜
猜小了,重新猜
猜对了

package oupeng.week2.HomeWork;

import java.util.Scanner;

public class HomeWorkDemo30 {
    public static void main(String[] args) {
       int s=(int) (Math.random()*100+1);
       System.out.println(s);
        while (true){
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入一个数:");
        int num=sc.nextInt();
            if (num>s){
                System.out.print("猜大了,重新猜");
            }
            else if (num<s){
                System.out.print("猜小了,重新猜");
            }
            else {
                System.out.print("猜对了");
                break;
            }
        }
    }
}

34.猜拳游戏,石头剪刀布。
随机数生成石头剪刀布(0:石头 1:剪刀 2:布)

package JavaSE练习题;

import java.util.Scanner;

public class Demo24 {
    public static void main(String[] args) {
        System.out.println("请输入你的选择:0.石头,1.剪刀,2.布");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = (int) (Math.random() * 3);
        System.out.println(m);
        if (n == 0) {
            if (m == 2) {
                System.out.println("你输了!");
            } else if (m == n) {
                System.out.println("平局");
            } else {
                System.out.println("你赢了!");
            }
        }
        if (n == 1) {
            if (m == 0) {
                System.out.println("你输了!");
            } else if (m == n) {
                System.out.println("平局");
            } else {
                System.out.println("你赢了!");
            }
        }
        if (n == 2) {
            if (m == 1) {
                System.out.println("你输了!");
            } else if (m == n) {
                System.out.println("平局");
            } else {
                System.out.println("你赢了!");
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

二十冶一生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值