小萌新又来了······
先看这道题吧,估计对于很多初学者来说,刚看到题,这道题很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