1.for嵌套.
假设图书馆里有三本书(A、B、C) 有三个人,每人只能借其中的一本! 问一共有多少种 借法?
关于这个问题:1,2,3分别表示三本书,每层循环分别给A,B,C分配书;
public class Qian11{
public static void main(String[] args){
int sum=0;
for(int A=1;A<=3;A++){
for(int B=1;B<=3;B++){
for(int C=1;C<=3;C++){
if(A!=B&&B!=C&&A!=C){
sum++;
}
}
}
}
System.out.println(sum);
}
}
在刚学习遇到了一些问题
1.这个错误因为没注意局部变量的问题,变量e被声明到了do里,因此只对do有用,while里的e就会报错,像下图.因此一般声明变量会在最前面为全局变量,以便于使用.(有时不要忘了初始化变量);
2.这段码最后输出的两个百分数会都是0.0%,刚开始我认为int可以自己转化为double类型,事实上确实可以转化,也不会报错.因为计算的是百分比所以转化的数字整数部分为0,再乘一个数的时候还是0以至于最后输出的百分比一直是0.所以应该在前面声明变量da和xiao的时候应该声明为double类型.
import java.util.Scanner;
public class Cicrle7{
public static void main(String[] args){
Scanner inpt=new Scanner(System.in);
int g=1;
double xiao=0;
double da=0;
double nian;
while(g<=10){
System.out.println("请输入第"+g+"个的年龄");
nian=inpt.nextInt();
if(nian>30){
da++;
}else{
xiao++;
}
g++;
}
double dab=da/g*100;
double xiaob=xiao/g*100;
System.out.println("30岁以上的比例为"+dab+"%");
System.out.println("30岁以下的比例为"+xiaob+"%");
}
}
修改之后
3.此代码输入的是男却加入了女生组
import java.util.Scanner;
public class Wot{
public static void main(String[] args){
Scanner inpt = new Scanner(System.in);
System.out.println("请输入你性别:");
String sex=inpt.next();
System.out.println("请输入你时间:");
double h=inpt.nextDouble();
if(sex.equals("男")&&h<=10){
System.out.println("你成功加入了男生组");
}else{
System.out.println("你成功加入了女生组");
}
}
}
因为当时间h>10时,(sex.equals("男")&&h<=10)判断的是false,就执行else里的代码
改正如下........................
import java.util.Scanner;
public class Wo4{
public static void main(String[] args){
Scanner inpt = new Scanner(System.in);
System.out.println("请输入你性别:");
String sex=inpt.next();
System.out.println("请输入你时间:");
double h=inpt.nextDouble();
if(sex.equals("男")){
if(h<=10){
System.out.println("你成功加入了男生组");
}else{
System.out.println("你没能加入了男生组");
}
}else{
if(h<=10){
System.out.println("你成功加入了女生组");
}else{
System.out.println("你没能加入了女生组");
}
}
}
}