張三,李四去飯店吃飯,飯后結賬時,張三,李四各拿出一張100人名幣,幾經推搡,最后收款員結過了李四的100元人名幣,幾經推搡,最后收款員結過了李四的100元人名幣,判斷張三和李四的100元人名幣是不是同一張鈔票?李四和收款員收上人名幣是不是同一張鈔票?張三和收款員手中的100元人名幣是不是同一張鈔票?
uj5u.com熱心網友回復:
大概好像理解題目的意思思路就是張三李四手里的錢經過洗牌后再回到自己手里是不是還是原來各自的錢,所以用個集合隨機洗牌發牌就可以了
class Money { //錢作為物件,用于判斷是否是原來的錢
String currency = "RMB";
double value = 0;
public Money(String currency, double value) {
this.currency = currency;
this.value = value;
}
public Money(double value) {
this("RMB", value);
}
}
public class Sample {
public static void main(String[] args) {
List<Money> hands = new ArrayList<>(); //用來洗牌的手
Money zhangsan = new Money(100); //張三的錢
Money lisi = new Money(100); //李四的錢
hands.add(zhangsan); //手接過張三的錢(hands[0]相當于張三的手)
hands.add(lisi); //手接過李四的錢(hands[1]相當于李四的手)
Collections.shuffle(hands); //幾經推搡(就好比錢再手里洗牌)
Money shoukuanyuan = hands.get(1); //收款員拿過李四手里的錢
System.out.printf("張三手里的錢是否李四的錢?%s\n", hands.get(0)==lisi?"是":"不是");
System.out.printf("收款員手里的錢是否原來李四的錢? %s\n", shoukuanyuan==lisi?"是":"不是");
System.out.printf("張三手里的錢是否原來張三的錢? %s\n", hands.get(0)==zhangsan?"是":"不是");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/165237.html
標籤:Java相關
上一篇:Flutter提示Bad state: Insecure HTTP is not allowed by platform
