实验三 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小时内删除。
发表评论