import java.util.Scanner;public class Test { public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String[] line = s.nextLine().split(" ");
double a[] =new double[line.length]; 
for(int i=0;i<line.length;i++){
try {
a[i] = Double.parseDouble(line[i]);
} catch (NumberFormatException e) {
System.out.println("请输入正确的数字");
}
}
double fourProbability = 1;
//4个转身
for(int i=0;i<4;i++){
fourProbability *= a[i];
}
//3个转身
double threeProbability = 0;
for(int i=0;i<4;i++){
double partProbability = 1;
for(int j=0;j<4;j++){
if(i == j) {
partProbability *= (1-a[j]);
} else {
partProbability *= a[j];
}
}
threeProbability += partProbability;
}

//1个转身
double oneProbability = 0;
for(int i=0;i<4;i++){
double partProbability = 1;
for(int j=0;j<4;j++){
if(i != j) {
partProbability *= (1-a[j]);
} else {
partProbability *= a[j];
}
}
oneProbability += partProbability;
}

//0个转身
double zeroProbability = 1;
for(int i=0;i<4;i++){
zeroProbability *= (1 - a[i]);
} //2个转身
double twoProbability = 1-zeroProbability-oneProbability-threeProbability-fourProbability; System.out.println("4 " + new java.text.DecimalFormat("#.00").format(fourProbability*100) + "%");
System.out.println("3 " + new java.text.DecimalFormat("#.00").format(threeProbability*100) + "%");
System.out.println("2 " + new java.text.DecimalFormat("#.00").format(twoProbability*100) + "%");
System.out.println("1 " + new java.text.DecimalFormat("#.00").format(oneProbability*100) + "%");
System.out.println("0 " + new java.text.DecimalFormat("#.00").format(zeroProbability*100) + "%");
}}

解决方案 »

  1.   

    import java.util.Scanner;public class Test {public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    String[] line = s.nextLine().split(" ");
    double a[] =new double[line.length]; 
    for(int i=0;i<line.length;i++){
    try {
    a[i] = Double.parseDouble(line[i]);
    } catch (NumberFormatException e) {
    System.out.println("请输入正确的数字");
    }
    }
    double fourProbability = 1;
    //4个转身
    for(int i=0;i<4;i++){
    fourProbability *= a[i];
    }
    //3个转身
    double threeProbability = 0;
    for(int i=0;i<4;i++){
    double partProbability = 1;
    for(int j=0;j<4;j++){
    if(i == j) {
    partProbability *= (1-a[j]);
    } else {
    partProbability *= a[j];
    }
    }
    threeProbability += partProbability;
    }//1个转身
    double oneProbability = 0;
    for(int i=0;i<4;i++){
    double partProbability = 1;
    for(int j=0;j<4;j++){
    if(i != j) {
    partProbability *= (1-a[j]);
    } else {
    partProbability *= a[j];
    }
    }
    oneProbability += partProbability;
    }//0个转身
    double zeroProbability = 1;
    for(int i=0;i<4;i++){
    zeroProbability *= (1 - a[i]);
    }//2个转身
    double twoProbability = 1-zeroProbability-oneProbability-threeProbability-fourProbability;System.out.println("4 " + new java.text.DecimalFormat("#.00").format(fourProbability*100) + "%");
    System.out.println("3 " + new java.text.DecimalFormat("#.00").format(threeProbability*100) + "%");
    System.out.println("2 " + new java.text.DecimalFormat("#.00").format(twoProbability*100) + "%");
    System.out.println("1 " + new java.text.DecimalFormat("#.00").format(oneProbability*100) + "%");
    System.out.println("0 " + new java.text.DecimalFormat("#.00").format(zeroProbability*100) + "%");
    }}这个看起来比较舒服
      

  2.   

    int cash=0;
    while(x>0){
    if(x>=3) {cash+=20;x=x-3;}
    if(x>=2){cash+=16;x=x-2;}
    if(x>=1){cash+=10;x=x-1;}
    }
      

  3.   

    import java.util.Scanner;public class Test { public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    String[] line1 = s.nextLine().split(" ");
    String[] line2 = s.nextLine().split(" ");
    s.close();
    int a[] = new int[line1.length + 1]; //记录前三个的价格
    int b[] = new int[line2.length]; //要买的数量
    for(int i=0;i<3;i++){
    a[0] = 0;//在三个价格前,加一项0(为后面方便)
    //把三个价格放到数组里
    try {
    a[i+1] = Integer.parseInt(line1[i]);
    } catch (NumberFormatException e) {
    System.out.println("请输入正确的数字");
    System.exit(0);
    }
    }
    //得到要买的数量,并用数组存放
    for(int i=0;i<line2.length;i++){
    try {
    b[i] = Integer.parseInt(line2[i]);
    } catch (NumberFormatException e) {
    System.out.println("请输入正确的数字");
    System.exit(0);
    }
    }
    for(int i=0;i<b.length;i++){
    if(b[i] == 0){//判断如果是0直接退出
    System.exit(0);
    } else {
    System.out.println(b[i]/3*a[3] + a[b[i]%3]);
    }
    }
    }
    }