admin管理员组文章数量:1794759
简单分析一下做Java编程题的思路吧!
小萌新又来了······
先看这道题吧,估计对于很多初学者来说,刚看到题,这道题很easy的,小学二年级学生都会做吧。对的,没错。我们既然有了思想即解题的思路,那我们该如何用Java编程思想来实现呢?
第一步:该题是计算一个分数值,那么我们就先把它看成两部分,分为分子、分母;
第二部:分子是9.5*4.5-2.5*3,分母为45.5-3.5
第三部:开始写程序。该程序如下:
class Demo01{ public static void main(String[] args){ double x; x=(9.5*4.5-2.5*3)/(45.5-3.5); System.out.println(x); } }
运行结果:
0.8392857142857143这道题是计算速度的,速度=路程/时间
第一步:时间是45分30秒,化为小时怎样化。
第二步:将时间先全部化成秒,再将秒化为小时,可行。
第三步:路程为14公里,并且题目要求为英里,则14公里=14.0/1.6英里。
第四步:编写程序
class Demo02{ public static void main(String[] args){ double a=45*60+30;//总共多少秒 double b=a/3600;//总共多少小时 double c=14/1.6;//总共多少英里 double d=c/b;//所要输出的结果 System.out.print(d); } }运行结果:
11.538461538461538这道题是估算:首先说一下在编程语言中运算符/和%的区别,/两个整数相除取整,如果有一个为小数,则值为精确值,例如:9/5=1,9.0/5=1.8;但是%是取余,例如:3%2=1
第一步:题目的要求是显示未来5年的每年的人口数。
第二步:每一年增加的人口怎样算?诞生的人数-死亡的人数+迁入的人数
第三步:编写程序
import java.util.Scanner; class Gs{ public static void main(String[] args){ System.out.print("请输入人口总数312032486:"); Scanner input=new Scanner(System.in); int sum=input.nextInt();//当前人口数 System.out.println(); int r=365;//每一年应有的天数 int a=5;//每一天所增长的人数 for(int i=1;i<=5;i++){ sum+=(60/7-60/13-60/45)*60*24; System.out.println("第"+i+"年的人口数数为:"+sum); } } }
运行的结果:
第1年的人口数数为:312036806 第2年的人口数数为:312041126 第3年的人口数数为:312045446 第4年的人口数数为:312049766 第5年的人口数数为:312054086这道题的要求是解二元一次方程。
第一步:为了能够解决数字的随机性,我们就应该定义8个变量,6个已知变量加2个未知变量;
第二步:编写程序
import java.util.Scanner; class F{ public static void main(String[] args){ Scanner input=new Scanner(System.in); System.out.print("请输入一个a:"); double a=input.nextDouble(); System.out.print("请输入一个b:"); double b=input.nextDouble(); System.out.print("请输入一个c:"); double c=input.nextDouble(); System.out.print("请输入一个d:"); double d=input.nextDouble(); System.out.print("请输入一个e:"); double e=input.nextDouble(); System.out.print("请输入一个f:"); double f=input.nextDouble(); double x,y;//两个未知变量 x=(e*d-b*f)/(a*d-b*c); y=(a*f-e*c)/(a*d-b*c); System.out.println("x="+x+" ; "+"y="+y); } }运行结果:
请输入一个a:3.4 请输入一个b:50.2 请输入一个c:2.1 请输入一个d:0.55 请输入一个e:44.5 请输入一个f:5.9 x=2.623901496861419 ; y=0.7087397392563978解题思路及编写过程如下:
import java.util.Scanner; /* 数据:摄氏温度 华氏温度 指令:输入 按照公式计算 输出 步骤: 1.提示用户输入摄氏温度 2.利用已知公式将摄氏温度转换为华氏温度 3.将摄氏温度和华氏温度输出 Scanner 扫描仪扫描器 是一个Java自带的一个类 主要负责的就是数据输入的问题 对于内存而言 数据的输入来源有很多 1.可以是从硬盘上读取数据 2.可以是从互联网上读取数据 3.可以是从输入设备(键盘)读取数据 nextByte() nextShort() nextInt() 常用 nextFloat() nextDouble() 常用 */ class Wd{ public static void main(String[] args){ Scanner input=new Scanner(System.in); System.out.print("Enter a degree in Celsius:");//提示用户输入 double Cel=input.nextDouble();//将用户输入的数值存放在该变量当中 double Fra; Fra=(9.0/5)*Cel+32; System.out.println(Cel+" Celsius is "+Fra+" Frarenheit");//注:加号为连接符号 } }运行结果:
Enter a degree in Celsius:43 43.0 Celsius is 109.4 Frarenheit
解题思路及编写过程如下:
import java.util.Scanner; /* 数据:半径 3.14 length 指令:输入、公式、输出 */ class Cy{ public static void main(String[] args){ Scanner input=new Scanner(System.in); System.out.print("Enter the radius and length of a cylinder:");//同理,提示用户输入 /* 存放用户所输入的数据 */ double r=input.nextDouble(); double l=input.nextDouble(); double area; double volume; area=r*r*3.14;//同过指令获得所要输出的数据 volume=area*l;同过指令获得所要输出的数据 System.out.println("The area is "+area); System.out.println("The volume is "+volume); } }运行结果:
Enter the radius and length of a cylinder:2 5 The area is 12.56 The volume is 62.800000000000004
解题思路及编写过程如下:
import java.util.Scanner; /* 首先提示用户输入数据; 题目要求:将用户输入的三位数字的个、十、百位分别加起来求和 思路:假定输入的数字是number 个位——number%10 number=number/10 十位—— number%10 number=number/10 个位—— number%10 */ class Num{ public static void main(String[] args){ Scanner input=new Scanner(System.in); System.out.print("Enter a number between 0 and 1000:");//提示用户输入 int num=input.nextInt(); int sum; int a=num/100;//百位 int b=num%100/10;//十位 int c=num%10; //个位 sum=a+b+c; System.out.println("The sum of the digits is "+sum); } }运行结果:
Enter a number between 0 and 1000:456 The sum of the digits is 15
解题思路及编写过程如下:
import java.util.Scanner; /* 题目要求:是计算六个月后账户上的钱数 解题思路—— 1——100*(1+0.00417) 2——100*(1+0.00417)*(1+0.00417)+100*(1+0.00417) 3——(100*(1+0.00417)*(1+0.00417)+100*(1+0.00417))*100*(1+0.00417)+100*(1+0.00417) 以此类推 */ class M{ public static void main(String[] args){ Scanner input=new Scanner(System.in); System.out.print("Enter the monthly saving amount:");//提示用户输入最开始账户上的钱数 double mon=input.nextDouble(); /* 循环的机制:每一个月的本金和先乘以(1+0.00417),然后再加上100*(1+0.00417),这才是下一个月的, 以此类推 */ for(int i=1;i<=6;i++){ if(i==1){ mon=mon*(1+0.00417); } if(i>1&&i<=6){ mon=mon*(1+0.00417);//先乘以(1+0.00417),然后再加上100*(1+0.00417) mon+=100*(1+0.00417);//然后再加上100*(1+0.00417) } } System.out.println("After the sixth month,the account value is $"+mon); } }运行结果:
Enter the monthly saving amount:100 After the sixth month,the account value is $608.8181155768638
解题思路及编写过程如下:
import java.util.Scanner; /* 题目要求:求两点之间的距离 解题思路:首先得知道两点之间的距离公式—— 给[(x1^2-x2^2)(y1^2-y2^2)]开方之后就是两点之间的距离 */ class Dis{ public static void main(String[] args){ Scanner input=new Scanner(System.in); System.out.print("Enter x1 and y1:");//提示用户输入第一个点的坐标 double x1=input.nextDouble(); double y1=input.nextDouble(); System.out.print("Enter x2 and y2:");//提示用户输入第二个点的坐标 double x2=input.nextDouble(); double y2=input.nextDouble(); double d; d=Math.pow((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2),0.5);//注:pow(a,b)——试求a^b的函数 System.out.println("The distance between the two points is "+d); } }运行结果:
Enter x1 and y1:2 1 Enter x2 and y2:3 6 The distance between the two points is 5.0990195135927845
版权声明:本文标题:简单分析一下做Java编程题的思路吧! 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686642658a89745.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论