首页 / JAVA / java课堂练习之可变参数与卫条件
java课堂练习之可变参数与卫条件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java课堂练习之可变参数与卫条件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2075字,纯文字阅读大概需要3分钟。
内容图文
/*
有人邀请A,B,C,D,E,F 6个人参加一项会议,这6个人有些奇怪,因为他们有很多要求,已知:
1)A,B两人至少有1人参加会议;
2)A,E,F 3人中有2人参加会议;
3)B和C两人一致决定,要么两人都去,要么两人都不去;
4)A,D两人中只1人参加会议;
5)C,D两人中也只要1人参加会议;
6)如果D不去,那么E也决定不去。
那么最后究竟有哪几个人参加了会议呢?
*/
可变参数必须位于最后一项。当可变参数个数多于一个时,必将有一个不是最后一项,所以只支持有一个可变参数。
可变参数的书写形式如:
void a(boolean a,int ...args){ 方法体 }
1)必须是三点;
2)... 位于变量类型和变量名之间,前后有无空格都可以;
3)可变参数的应用实际上是java虚拟机动态的开了一个数组;
4)三点后不能再加其他东西。
package cn.hncu.p37.meeting; public class Meeting1 { public static void main(String[] args) { for (int a1 = 1; a1 <= 2; a1++) { for (int a2 = 1; a2 <= 2; a2++) { for (int a3 = 1; a3 <= 2; a3++) { for (int a4 = 1; a4 <= 2; a4++) { for (int a5 = 1; a5 <= 2; a5++) { for (int a6 = 1; a6 <= 2; a6++) { if (ok(a1, a2, a3, a4, a5, a6)) { System.out.println("a1--"+a1+ "\na2--"+a2+ "\na3--"+a3+ "\na4--"+a4+ "\na5--"+a5+ "\na6--"+a6 ); break; } } } } } } } //类似上面6个for //for (int i = 0; i <= 63; i++) {//二进制表示六个人( 000000 ~ 111111 )去还是不去 1表示去 ,0表示不去 //a = ((i & 1) == 0) ? 0 : 1; //b = ((i & 2) == 0) ? 0 : 1; //c = ((i & 4) == 0) ? 0 : 1; // d = ((i & 8) == 0) ? 0 : 1; //e = ((i & 16) == 0) ? 0 : 1; // f = ((i & 32) == 0) ? 0 : 1; //if (fun(a, b, c, d, e, f)) { // System.out.println("a= " + a + " b= " + b + " c= " + c + " d= " // + d + " e= " + e + " f= " + f); //} //} } private static boolean ok(int a1, int a2, int a3, int a4, int a5, int a6) { if (!(countGo(a1, a2) >= 1)) {// A,B两人至少有1人参加会议; return false; } if (!(countGo(a1, a5, a6) == 2)) {// A,E,F 3人中有2人参加会议; return false; } if (!(countGo(a2, a3) == 2 || countGo(a2, a3) == 0)) {// B和C两人一致决定,要么两人都去,要么两人都不去; return false; } if (!(countGo(a1, a4) == 1)) {// A,D两人中只1人参加会议; return false; } if (!(countGo(a3, a4) == 1)) {// C,D两人中也只要1人参加会议; return false; } if (countGo(a4) == 0 && countGo(a5) == 1) {// 如果D不去,那么E也决定不去。 return false; } return true; } private static int countGo(int... mee) { int count = 0; for (int me : mee) { if (me == 1) { count++; } } return count; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/hncu1306602liuqiang/article/details/46657337
内容总结
以上是互联网集市为您收集整理的java课堂练习之可变参数与卫条件全部内容,希望文章能够帮你解决java课堂练习之可变参数与卫条件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。