刷题的狂欢-----JAVA每日三练-----第十四天

Posted 敲代码的xiaolang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了刷题的狂欢-----JAVA每日三练-----第十四天相关的知识,希望对你有一定的参考价值。

努力刷题,每日三题,题目来源于《 Java大学实用教程(第四版)》
第一题
使用接口回调的方法,求两个数的最大公约数:

package homework;

import java.util.Scanner;

 interface asd{
    int show(int x,int y);
}
class Demo implements asd{
    public  int show(int x,int y){
        int c;
        c=x%y;
        while(c!=0){
            x=y;
            y=c;
            c=x%y;
        }
        return y;
    }
}

public class Demo5 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int x=scanner.nextInt();
        int y= scanner.nextInt();
        asd t;
        t = new Demo();
        System.out.println("最大公约数:"+t.show(x,y));
    }
}

第二题
定义一个接口,里面有实现三角形和圆形面积的方法,定义一个类,里面通过传参来实现面积的计算。

package homework;
import java.util.*;
public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("三角形的底和高:");
        int b = scanner.nextInt();
        int h = scanner.nextInt();
        System.out.println("圆的半径:");
        int r = scanner.nextInt();
        Get get = new Get(b,h);
        Carea carea =new Carea();
        get.Put(carea);
        get.Put1(carea);
    }

}


package homework;

public interface Area {

    void Ccircle(int r);
    void Ctr(int b,int h);

}

class Carea implements Area{
    public void Ccircle(int r) {
        System.out.println("圆的面积:"+3.14*r*r);
    }
    public void Ctr(int b,int h){
        System.out.println("三角形的面积:"+0.5*b*h);
    }
}

class Get{
    int b,h;
    Get(int b,int h){
        this.b=b;
        this.h=h;
    }
    void Put(Carea carea) {
        carea.Ctr(b, h);
    }
    void Put1(Carea carea) {
        carea.Ccircle(b);
    }

}


第三题
多组输入,一个整数(2~20),表示输出的行数,也表示组成反斜线的“ * ”的数量。针对每行输入,输出用 “ * ” 组成的反斜线。

import java.util.Scanner;
public class Main{
public static void main(String[] args){
    Scanner scanner = new Scanner(System.in);
    int i,j;
    while(scanner.hasNext()){
        int N = scanner.nextInt();
    for( i = 0; i<N;i++){
        for(j = 0;j<i;j++){
            System.out.print(" ");
        }    
        System.out.print("*");
    for( int k = N-1-i;k>0;k--){
        System.out.print(" ");
    }
    System.out.println();
    }
    }
    }
}

打卡!

以上是关于刷题的狂欢-----JAVA每日三练-----第十四天的主要内容,如果未能解决你的问题,请参考以下文章

刷题的狂欢-----JAVA每日三练-----第十六天

刷题的狂欢-----JAVA每日三练-----第十五天

刷题的狂欢-----JAVA每日三练-----第十三天

刷题的狂欢-----JAVA每日三练-----第十二天

刷题的狂欢-----JAVA每日三练-----第十七天

刷题的狂欢-----JAVA每日三练-----第七天