题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。
a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
用循环能否做出?
求高手指教
a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
用循环能否做出?
求高手指教
解决方案 »
- 请指教!JAVA 中 判断是不是数字 的两段 代码 有什么区别??
- 误删了一个很重要的Project 如何恢复。。
- eclipse or JAVA 出毛病了?注释的代码都能执行
- JAVA初学者 抛出异常选择题
- java中怎样使用别人的类库?
- 怎样在java中断定一个文件的文件类型???(高分)
- 请问VisualAgeforJava怎么样?是否用的sun的JDK?与JBuilder哪个更适用与做项目?
- 请问,我在读文件的过程中,如何判断读到的字符是不是回车键或是空格?谢谢
- 急,急,急,快来看一看!!!!
- 初学者请大家帮忙!!!
- 一直报错:Fatal exception occurred,program will exit··为什么?怎么解决?
- jdk版本
不过数据量大的时候就比较慢
本题中只有 3人,可以循环去解
不用循环可以这样:
a{y,z}
b{x,y,z}
c{y}
其实可以转换为全覆盖问题
protected String name;
jiadui(String name){
this.name = name;
}}
class yidui{
protected String name;
yidui(String name){
this.name = name;
}
}public class bisai { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
jiadui[] N = new jiadui[3];
N[0] = new jiadui("a");
N[1] = new jiadui("b");
N[2] = new jiadui("c");
yidui[] M = new yidui[3];
M[0] = new yidui("x");
M[1] = new yidui("y");
M[2] = new yidui("z");
String temp = "";
String[] mingdan = new String[3];
for(int i=0;i<3;i++){
if(N[i].name=="a"&&M[i].name=="x"){
temp = N[i].name;
N[i].name = N[i+1].name;
N[i+1].name = temp;
mingdan[i] =N[i].name+"-"+M[i].name;//mingdan[0]=b-x
}
if(i==1){
if(N[i].name=="a"){
temp = N[i].name;
N[i].name = N[i+1].name;
N[i+1].name = temp;
mingdan[i] =N[i].name+"-"+M[i].name;//mingdan[1]=c-y
}
}
mingdan[i] =N[i].name+"-"+M[i].name;//mingdan[2]=a-z
}
for(int i=0;i<3;i++){
System.out.println(mingdan[i]);
}
//a-z,b-x,c-y //a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
}}
这是輸出:
b-x
c-y
a-z
private static char[] chs1 = { 'x', 'y', 'z' };
private static char[] chs2 = { 'a', 'b', 'c' };
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
sort(chs2, 0, chs2.length - 1);
}
public static void sort(char[] chs, int start, int end) {
if (start == end) {
outPutChars(chs);
return;
} else
;
for (int i = start; i <= end; i++) {
exchange(chs, i, start);
sort(chs, start + 1, end);
exchange(chs, i, start);
}
}
private static void exchange(char[] chs, int pos0, int pos1) {
char c = chs[pos0];
chs[pos0] = chs[pos1];
chs[pos1] = c;
}
private static void outPutChars(char[] chs) {
for (int i = 0; i < chs.length; i++) {
if ((chs[i] == 'a' && chs1[i] == 'x')
|| (chs[i] == 'c' && (chs1[i] == 'x' || chs1[i] == 'z'))) {
return;
}
;
}// end for
for (int i = 0; i < chs.length; i++) {
System.out.print(chs1[i] + " VS " + chs[i] + " ");
}// end for
System.out.println();
}
}
//char arr[] = {'a','b','c'};
char i,j,k;//i是a的对手,j是b的对手,k是c的对手
for ( i = 'x'; i <= 'z'; i++) {
for ( j = 'x'; j <= 'z'; j++) {
for( k = 'x'; k <= 'z'; k++){
if((i != j && i != k && j != k)&& i != 'x' && k != 'x' && k != 'z'){
System.out.println(i +"====" + j + "====" + k);
}
}
}
}
}
public void tennis(){
//char arr[] = {'a','b','c'};
char i,j,k;//i是a的对手,j是b的对手,k是c的对手
for ( i = 'x'; i <= 'z'; i++) {
for ( j = 'x'; j <= 'z'; j++) {
for( k = 'x'; k <= 'z'; k++){
if((i != j && i != k && j != k)&& i != 'x' && k != 'x' && k != 'z'){
System.out.println(i +"====" + j + "====" + k);
}
}
}
}
}