实验三 Java 语言的流程控制和数组
一、实验项目名称
开发环境的设置和安装
二、实验目的
(1)学习和掌握 IntelliJ IDEA 软件的开发
(2)学习和掌握条件控制
(3)学习和掌握循环控制
三、实验步骤
1.编写一个程序,结合 JavaFx 实现输入年份出对应的中国生肖值。
代码:
;
import javafx.application.Application;
import l.Alert;
import l.TextInputDialog;
import javafx.stage.Stage;
import java.util.Optional;
public class ChineseZodiac extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        TextInputDialog inputDialog = new TextInputDialog();java switch case string
        inputDialog.setTitle("根据年份查询十二生肖值:");
        inputDialog.setHeaderText("请输入你将查询的年份:");
        inputDialog.setContentText("");
        Optional<String> input = inputDialog.showAndWait();
        int year = Integer.());
        String result = judge(year);
        Alert alert = new Alert(Alert.AlertType.INFORMATION);
        alert.setTitle("根据年份查询十二生肖值:");
        alert.setHeaderText(year+"年对应十二生肖里的:");
        alert.setContentText(result);
        alert.showAndWait();
    }
    public String judge(int year){
        String temp = switch(year % 12){
            case 0-> "猴";
            case 1-> "鸡";
            case 2-> "狗";
            case 3-> "猪";
            case 4-> "鼠";
            case 5-> "牛";
            case 6-> "虎";
            case 7-> "兔";
            case 8-> "龙";
            case 9-> "蛇";
            case 10-> "马";
            case 11-> "羊";
            default-> throw new RuntimeException("error");
        };
        return temp;
    }
    public static void args){
        Application.launch(args);
    }
}
2.编写程序,提示用户输入两个圆的中心坐标和各自的半径值,然后判断第二个圆是在第一个圆内,还是和第一个圆重叠。
代码:
;
import java.util.Scanner;
public class TwoCircles {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        double x1,y1,x2,y2,r1,r2,d1,d2;
        System.out.println("请输入两圆的中心坐标:");
        x1 = Double();
        y1 = Double();
        x2 = Double();
        y2 = Double();
        System.out.println("请依次输入两圆的半径:");
        r1 = Double();
        r2 = Double();
        d1 = Math.sqrt(Math.pow(x1-x2,2)+Math.pow(y1-y2,2));
        d2 = r1 + r2;
        if(d1 >= d2) System.out.println("第二个圆在第一个圆外");
        else if((r1-r2) < d1 && d1 < d2) System.out.println("第二个圆与第一个圆重叠");
        else if(x1 == x2 && y1 == y2 && r1 == r2) System.out.println("第二个圆与第一个圆重合");
        else if(d1 < Math.abs(r1-r2)) System.out.println("第二个圆在第一个圆内");
    }
}
3.编写程序,模拟从一副扑克牌中抽出 1 张牌。
代码:
1Poker类:
;
public class Poker {
    private String point;
    private PokerColor color;
    //构造函数,初始化poker数组
    public Poker (int index){
        if(index == 53) point = "小王";
        else if(index == 52) point = "大王";
        else{
            point = indexToString(index / 4 + 1);
            int temp = index % 4;
            if(temp == 0) color = PokerColor.BLACK_PEACH;
            else if(temp == 1) color = PokerColor.RED_PEACH;
            else if(temp == 2) color = PokerColor.CUBE;
            else color = PokerColor.PLUM;
        }
    }
    public String indexToString(int number){
        if(number == 1) return "A";
        else if(number == 11) return "J";
        else if(number == 12) return "Q";
        else if(number == 13) return "K";
        else return (number+"");
    }
    public String getPoint(){
        return point;
    }
    public PokerColor getColor(){
        return color;
    }
}
2TestPoker类:
;
import java.util.Scanner;
public class TestPoker {
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        //创建扑克牌
        Poker[] poker = new Poker[54];
        for(int i = 0;i < 54;i++) poker[i] = new Poker(i);
        //洗牌
        washPoker(poker);
        //抽取
        System.out.println("这里有54张扑克牌,你想抽取第几张?");
        int index = Int();
        //点数
        String str1 = poker[index].getPoint();
        //花(排除大小王)
        String str2 = str1.equals("大王")||str1.equals("小王") ? "" : ColorToString(poker[index].getColor());
        System.out.println("这张扑克牌是:"+str2+str1);
}
    public static void washPoker(Poker[] poker){

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。