早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用java帮忙改一下这道题目3.一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两

题目详情
用java帮忙改一下这道题目
3.一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没记住车号,
只记下车号的一些特征。甲说:牌照的前两位数字是相同的;
乙说:牌照的后两位数字是相同的,但与前两位不同;
丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索编程求出车号。(30分)
public class chehao {
public static int a;
public static int b;
public static int c;
public static int d;
public static int e;
public static int s;
public static void main(String args[])
{
a=(int)(1+Math.random()*9);
b=(int)(1+Math.random()*9);
c=(int)(1+Math.random()*9);
d=(int)(1+Math.random()*9);

s=a*1000+b*100+c*10+d*1;

if(a==b&&c==d&&s==e*e&&c!=b)
{
System.out.println("车牌号"+s);
}

}
}
▼优质解答
答案和解析
楼主,你好,这段程序的思想是通过随机生成车牌的4位数,然后对三个条件进行过滤。理论上能够实现。但是这样的效率非常低下。
而且程序中的变量e定义以后没有赋值,int型的变量默认是0。你的if中e*e就恒等于0。因此上面这段程序找不到符合要求的车牌号码。
因此,我们换一种思路。从甲乙丙三人的描述中,车牌是一个4位号码(有可能以0开头)。因此我们只要遍历0000到9999这一万个数字,分离出数字中的各个位数,然后进行判断即可得出。但是这要循环一万次,其实我们还可以循环更少的次数。
从甲和乙的口中得知,我们的车号只可能是AABB的形式。也就是1122,3344等的形式。因此,我们只要设置一个双层循环,每层循环都循环10次,就可以生成所有AABB形式的4位数。请详细看下面的代码:
public static void main(String[] args) {
//外层循环用于生成千位和百位
for(int i = 0 ; i <= 9 ; i ++)
{
//内层循环用于生成十位和个位
for(int j = 0 ; j <= 9 ; j ++)
{
//根据乙说的,千位和个位的数字如果相同,则continue,过滤掉。
if(i == j )
{
continue;
}
//至此我们生成符合甲,乙所说条件的数字为i+i+j+j,注意中间注意添加空串分割,否则计算机会把i和j当成数字求和。这样加起来是一个字符串,我们还要把它转换成整型,通过 Integer.parseInt 方法;
int s = Integer.parseInt(i+""+i+""+j+""+j);
//如果满足丙说的条件Math.sqrt为开平方方法。
if((int)Math.sqrt(s) == Math.sqrt(s))
{
//打印符合要求的车牌号。
System.out.println("车牌号为:"+s);
}
}
}
}
那么这段代码的最终执行结果为:
车牌号为:7744
看了用java帮忙改一下这道题目3...的网友还看了以下:

下列搭配错误的是()A.沙特阿拉伯的贝都因人-住帐篷B.东西伯利亚人的雅库特人-住木屋C.加里曼丹  2020-05-13 …

有一个旅行团到宾馆住宿.如果都住2人间,需要23间,但现在没有那么多房间了.如果都住3人间,至少需  2020-05-23 …

某旅游点有一家招待所,有客房两层,已知底楼客房比二楼少一间,各个房间住的人数与这层楼的房间数相同.  2020-06-03 …

初中数学书里有句概念是错的,棱柱的所有侧棱长都都相等,棱住的上,下底面的形状相同,侧面的形状都是长  2020-06-27 …

甲、乙两人都住某大街的同一侧,这一侧的门牌号码皆是奇数,现已知甲住9号,乙住191号,那么甲、乙两  2020-07-17 …

甲、乙、丙、丁四人在谈论他们及他们的朋友A君的居住地.甲说:“我与乙都住在北京,丙住在天津.”乙说:  2020-11-12 …

我国是古代人类的居住地,在对北京人和山顶洞人进行比较后,你会发现他们的共同特点有①都生活在北京周口店  2020-11-12 …

甲、乙、丙、丁四人在谈论他们及他们的朋友A君的居住地.甲说:“我与乙都住在北京,丙住在天津.”乙说:  2020-11-30 …

下列属于半坡遗址和河姆渡遗址的共同特点是?(选择题)下列属于半坡遗址和河姆渡遗址的共同特点是()A.  2020-12-08 …

某旅馆有三人间、两人间、单人间三种房间(每种房间仅能入住相应人数)各一间可用,有4个成年男性带2个小  2020-12-21 …