简单分析一下做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

 

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值