用java解决一个取球的方法

来源:百度知道 编辑:UC知道 时间:2024/05/23 17:35:24
public class GetBalls{
public static void main(String args[]){
int[] r=new int[3];
int[] w=new int[5];
int[] b=new int[6];
for(int i=0;i<=w.length;i++){
for(int j=0;j<=(9-i);j++){
for(int k=0;k<=(9-i-j);k++){
System.out.println("排列方法:");
System.out.println("红球:"+i+"" +i);
System.out.println("白球: "+j+"" +j);
System.out.println("黑球: "+k+"" +k);
}
}
}
}
}
这是代码,我的问题是从3个红球、5个白球、6个黑球中任取9个球,且其中必须有白球,输出可能的方案。

面向对象的

class Round{
private int[] red;
private int[] white;
private int[] black;
public Round(int red,int white,int black){
this.red=new int[red];
this.white=new int[white];
this.black=new int[black];
}
public void select(int sumNumber,int few,String type){
for(int i=0;i<=red.length;i++)
for(int j=0;j<=white.length;j++)
for(int k=0;k<=black.length;k++){
if(i+j+k==sumNumber){
if(!type.equals("RED") && !type.equals("WHITE") && !type.equals("BLACK")) {System.out.println("参数错误!");return;}
if(type.equals("RED") && i>=few) System.out.println ("RED:"+i+" WHITE:"+j+" BLACK: "+k);
else if(type.equals("WHITE") && j>=few) System.out.println("RED:"+i+" WHITE:"+j+" BLACK: "+k);
else if(type.equals("BLACK") && k>=few) System.out.println("