用Java编写这道题,并叙述一下分析思路,谢谢啦我是个java初学者书籍麻烦了!

麻烦注释一下用java编写的这道题,并说明思想谢谢。_百度知道
麻烦注释一下用java编写的这道题,并说明思想谢谢。
输入五种水果的英文名字(例如葡萄grape、橘子orange、香蕉banana、苹果apple、桃peach),编写一个程序,输出这些水果的名字(按照在字典里出现的先后顺序输出),import java.util.*;public class Test2 {
public static void main(String[] args){
//定义一个扫描仪,接入系统
Scanner input=new Scanner(System.in);
//提示输入你的水果
String[]guo=new String[5];
for(int i=0;i&guo.i++){//循环输入
System.out.println(&请输入你&+(i+1)+&种的水果&);
guo[i] =input.next();
Arrays.sort(guo);
System.out.println(&这些水果在字典中出现的顺序是&);
for(int j=0;j&guo.j++){
System.out.println(guo[j]);
import java.util.*;public class Test2 {
public static void main(String[] args){
//定义扫描仪接入系统
Scanner input=new Scanner(System.in);
//创建一个大小为5的字符串的数组guo,相当于{& &,& &,& &,& &,& &}
String[]guo=new String[5];
//循环guo的大小,从0到4
for(int i=0;i&guo.i++){
//每一次循环都让用户输入一水果,因为i是0-4,这里i+1就是1-5
System.out.println(&请输入&+(i+1)+&种水&);
//并把输入存入数组guo对应的那一项
guo[i] =input.next();
//把guo按字母顺序重新排列
Arrays.sort(guo);
//循环新的guo,依次输出里面的内容(已经排列好了)
System.out.println(&些水字典现顺序&);
for(int j=0;j&guo.j++){
System.out.println(guo[j]);
其他类似问题
为您推荐:
java的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁java编程的作业试题大家帮我解答一下,谢谢了,一共两个题,在下面,请大家一定要帮我解答一下,我不会做_百度知道
java编程的作业试题大家帮我解答一下,谢谢了,一共两个题,在下面,请大家一定要帮我解答一下,我不会做
1、运输公司对用户计算运费.路程越远每公里运费越低.每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为f=p*w*s*(1-d)
;输入基本运费,货重和距离,算出运费s&250km
没有折扣250&= s &500
2%折扣500&= s &1000
5%折扣1000&= s &2000
8%折扣2000&= s
10%折扣2、编一个程序输入一个x后,输出y,规则为如果x小于0
那么y为-1如果x等于0
那么y为0如果x大于0
那么y为13、实现ATM机登录。要求用户输入卡号,输入密码,如果三次之内,允许用户重新输入,三次以上,就显示吞卡。4、输入一个整数(位数不定),将每一位输出。如:2567显示:76525、猜数游戏:随机产生60~100随机数,要求用户不断的猜。如果用户猜的数比随机产生的数更大,提示“大了”,如果用户猜的数比随机产生的数更小,提示“小了”。直到猜对为止。如果在5次之内猜中,显示“天才”。否则显示“笨蛋”6、打印序列:1,2,3,5,8,13...。谢谢了就这6个题,会做的几分钟就做出来了,但是我不会做,才学几天老师就叫我们做这个,完全不会啊,而且我还刚刚高中毕业。
提问者采纳
import java.util.Spublic class DemoTest { /**1、运输公司对用户计算运费.路程越远每公里运费越低.每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费f的计算公式为 f=p*w*s*(1-d)
; 输入基本运费,货重和距离,算出运费 s&250km
没有折扣 250&= s &500
2%折扣 500&= s &1000
5%折扣 1000&= s &2000
8%折扣 2000&= s
10%折扣 * */ public static double getMoney(int p,int w,int s) {
if (s&250) {
return p*w*s*(1-0);
else if (s&=250&& s&500) {
return p*w*s*(1-0.02);
else if (s&=500&& s&1000) {
return p*w*s*(1-0.05);
else if (s&=1000&& s&2000) {
return p*w*s*(1-0.08);
return p*w*s*(1-0.1);
} } /** * 2、编一个程序输入一个x后,输出y,规则为 如果x小于0
那么y为-1 如果x等于0
那么y为0 如果x大于0
那么y为1 * */ public static void print(int x) {
if (x&0) {
System.out.println(y);
else if (x==0) {
System.out.println(y);
System.out.println(y);
} } /**3、实现ATM机登录。 要求用户输入卡号,输入密码,如果三次之内,允许用户重新输入,三次以上,就显示吞卡。 * */ public static void inspect() {
Scanner sc=new Scanner(System.in);
System.out.println(&请输入密码&);
password=sc.nextInt();
int count=2;
while (count&0) {
System.out.println(&输入密码错误,你还有&+(count--)+&次输入机会,请重新输入:&);
password=sc.nextInt();
sc.close();
System.out.println(&你的密码连续三次输入错误,卡已被吞!&); } /**4、输入一个整数(位数不定),将每一位输出。
2 * */ public static void showNumber(int x) {
String str=x+&&;
for (int y=0;y&str.length();y++){
num =(int)(x/Math.pow(10,y)%10);
System.out.println(num);
} } /**5、猜数游戏: 随机产生60~100随机数,要求用户不断的猜。如果用户猜的数比随机产生的数更大,提示“大了”,如果用 户猜的数比随机产生的数更小,提示“小了”。直到猜对为止。如果在5次之内猜中,显示“天才”。否则显 示“笨蛋” * */ public
void guess() {
int getRandom=(int)(Math.random()*100+1);
while(getRandom&60){
getRandom=(int)(Math.random()*100+1);
Scanner sc=new Scanner(System.in);
System.out.println(&请输入数字&);
while (true) {
int num=sc.nextInt();
if (num&x) {
System.out.println(&大了&);
else if (num&x) {
System.out.println(&小了&);
System.out.println(&天才&);
} /**打印序列:1,2,3,5,8,13...。 * */ public static void method() {
int [] arr=new int[6];
System.out.print(&1,&);
System.out.print(&2,&);
for (int x=2;x&arr.x++) {
arr[x]=arr[x-1]+arr[x-2];
System.out.print(arr[x]+&,&);
} } public static void main(String []args) {
System.out.println(getMoney( 200,30, 1400));
inspect();
showNumber(431132);
new DemoTest().guess();
method(); }}
提问者评价
来自团队:
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁用java帮忙改一下这道题目_百度知道
用java帮忙改一下这道题目
3.一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索编程求出车号。(30分)public class chehao {
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开头)。因此我们只要遍历这一万个数字,分离出数字中的各个位数,然后进行判断即可得出。但是这要循环一万次,其实我们还可以循环更少的次数。从甲和乙的口中得知,我们的车号只可能是AABB的形式。也就是等的形式。因此,我们只要设置一个双层循环,每层循环都循环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 )
//至此我们生成符合甲,乙所说条件的数字为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
参考资料:
其他类似问题
为您推荐:
其他2条回答
楼上的技巧性很强 佩服。 我只能写逻辑上的啦
public class Search
public static void main(String[] args)
// 一万以下所有数字
String[] allnumb = new String[9999];
for (int i = 0; i & allnumb. i++)
allnumb[i] = String.valueOf(i);
// 其中可以是整数的平方的车牌 少于400个
String[] posnumb = new String[400];
for (int i = 0; i & posnumb. i++)
posnumb[i] = &00000&; //防止空引用
for (int j = 0; j & allnumb. j++)
if ((i * i) == Integer.valueOf(allnumb[j]))
posnumb[i] = String.valueOf(allnumb[j]);
// 前两位和后两位都相同但彼此不相...
你的程序思路不太对,随机数你能用在这个题上
java的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁用Java编写这道题,并叙述一下分析思路,谢谢啦我是个Java初学者麻烦了!_百度知道
你可以把他拆成 两部分
每部分需要两个for循环
其他类似问题
为您推荐:
其他1条回答
先存储中间一行,然后每次生成前一行连接到前面和后面,等一下发程序1,3,6,8?你是不是画错了,下面是每行比后一行少两个public&class&Diamond&{&public&static&void&main(String[]&args)&{&&String&s&=&&********&;//中间行&&String&result&=&s;&&for(int&i=0;i&3;i++){&&&String&s1&=&&&&+s.substring(0,s.length()-2);&//前后行&&&result&=&s1+&\n&+result+&\n&+s1;&&&s&=&s1;&&}&&System.out.println(result);&}}
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Java的一道题目,我是Java的初学者被这个题目难到了,求大神指点。_百度知道
提问者采纳
&&&&public&static&void&main(String[]&args)&{&&&&&&&&Scanner&sc&=&new&Scanner(System.in);&&&&&&&&int&temp&=&0;&&&&&&&&temp&=&sc.nextInt();&&&&&&&&int&min&=&10000;&&&&&&&&int&max&=&-10000;&&&&&&&&while&(temp&!=&0)&{&&&&&&&&&&&&System.out.println(&请输入一个整数,输入0停止!&);&&&&&&&&&&&&temp&=&sc.nextInt();&&&&&&&&&&&&if&(min&&&temp)&{&&&&&&&&&&&&&&&&min&=&&&&&&&&&&&&&}&&&&&&&&&&&&if&(max&&&temp)&{&&&&&&&&&&&&&&&&max&=&&&&&&&&&&&&&}&&&&&&&&}&&&&&&&&System.out.println(&最大值是:&&+&max&+&&&&&最小值是:&&&+&min);&&&&}
谢谢大哥。。现在看懂了。
提问者评价
太给力了,你的回答完美的解决了我的问题!
来自团队:
其他类似问题
为您推荐:
其他1条回答
输入0时退出,所以需要一个判断来截断程序的循环,而程序需要先执行一次再判断,那么就要用到do{}while()结构。在do外面定义一个接受当前输入值的变量,那么在do里接受控制台输入赋给变量,然后在while里判断是否等于0,不是就返回true让循环体继续执行,否则退出循环。而判断最大值,首先多次输入的值是一个集合体,那么可以用集合类型接收所有输入的值,在输入0结束循环输入的时候,再去遍历这个集合,一个一个取值,定义两个变量,输出的值进行对比,如果当前循环的值比较大,就赋值给大值变量,再和小的变量对比,还更小就赋值给更小的变量直到循环结束那么这两个变量存储的就是最大值和最小值,并进行输出。或者通过 Collections的sort方法来排序,然后取得排序最大的值和最小的值。最后程序结束
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 java初学者教程 的文章

 

随机推荐