第1章 Java 主方法中的顺序结构

前言

咳咳,你们开学了吗,反正我没有,害,不能一直颓废下去呢,所以呢,我觉得针对Java实训做一次全面的复习,一共12章,希望木木能都坚持下来,啊哈哈哈哈哈哈哈。

第一关:简单的无输入输出给定图案

  • 咳咳,样式如图:
    在这里插入图片描述
public class Test1 {
	public static void main(String[] args) {
		System.out.println("   *");
		System.out.println("  ***");
		System.out.println(" *****");
		  System.out.print("*******");
	}
}
  • 我赌两毛钱,绝对会有人说:”卧槽,这也太水了吧“。咳咳,我想说哈,并不是我想水文章的,而且再简单咱们也要写不是,还别说,这道题,木木第一次写还错了,啊哈哈哈哈哈哈哈。
  • 注意点在于最后一行没有换行的,所以木木下次答题前一定会仔细看输出样式再答题的,害!太菜了我。

第二关:无输入求多边形的面积

  • 任务描述:计算一个由正方形和等腰三角形组成的多边形的面积,其中正方形边长 4 厘米,等腰三角形底边为正方形的一条边,其到对角顶点的高为 2.6 厘米。
  • 输出格式:该多边形的面积为 xxx
  • xxx 为多边形的面积。
public class Test2 {
	    public static void main(String[] args) {
  
	         int square_length = 4;  
	         double triangle_h = 2.6;  
			 double area_square = square_length * square_length ;
			 double area_triangle = square_length * triangle_h / 2.0;
			 double area_total = area_square + area_triangle;
			 System.out.print("该多边形的面积为 " + area_total);
	    }
} 
  • 个人感觉,这个题还是没有难点的哦~
  • 特别注意点就是在算三角形面积的时候为了保证是浮点型,要除以2.0哦,否则你会裂开。啊哈哈哈哈哈哈哈,走走走,下一个。

第三关:无输入求平抛小球与抛出点之间的距离

  • 一小球以 10 米/秒的水平速度平抛,重力加速度取 9.8 米/秒^2 ,在忽略空气阻力的情况下,求经过时间 3 秒后,小球所在位置与抛出点之间的距离 (假设小球距地面足够高)。
  • 输出格式:小球所在位置与抛出点之间的距离为 xxx 米。
public class Test3 {
	    public static void main(String[] args) {

	        double g = 9.8;     // 声明浮点型变量 g,用于表示重力加速度
	        int v0 = 10;      // 声明整型变量 v0, 用于表示水平初速度
	        int t = 3;      // 声明整型变量 t, 用于表示小球飞行的时间
	        
			double s = v0 * t;      	//平抛运动经过 t 秒的水平位移s计算公式
			
			double h = g * t*t / 2.0;	//垂直方向位移hh的计算公式
			double d = Math.sqrt(s*s + h*h);

			System.out.print("小球所在位置与抛出点之间的距离为 "+ d + " 米。");
	    }
}
  • 这不得不说呀,学这个,数学还是重要的,嘻嘻,还好公式题目有给,不然木木肯定又要去上度娘了。
  • 还有哦,求一个数的平方根用 Math.sqrt(); 咳咳,你学废了吗?

第四关:无输入求星期几

  • 本关任务:2017 年 1 月 1 日是星期天,求 10 天后是星期几。
public class Test4 {
	    public static void main(String[] args) {

	        // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
	        /********** Begin **********/
	        // 第一步:声明 int 型变量 pre,值为一周的总天数
	    	int pre=7;
	        // 第二步:声明 int 型变量 sum,值为几天后加上周几(2017 年 1 月 1 日是周几)的值
	    	int sum = 7 + 10;
	        // 第三步:求天数除以一周的天数的余数,这个余数就是10天后为周几的值了
	    	int weeknum = sum % pre;
	        // 第四步:格式化输出这个值  如果结果是1,那么输出格式为:10天后是星期 1。
	    	System.out.print("10天后是星期 " + weeknum + "。");
	        /********** End **********/
	    }
}
  • 咳咳,这个题,我成功的又错了,啊哈哈哈哈哈哈哈,鬼知道后面还有一个句号。害!真的是,不去做,都不会知道,原来自己这么菜,emmmm

第五关:有输入格式化输出平抛小球与抛出点之间的距离

  • 跟第三题呢,是一样的,只是我们要添加输入格式了。
import java.util.Scanner;				//使用import导入

public class Test5 {
    public static void main(String[] args) {

        double g = 9.8;   

        Scanner reader = new Scanner(System.in); 
        double v0 = reader.nextDouble();   		//要啥类型后面就跟啥类型哈
        int t = reader.nextInt();

        double s = v0 * t;
        double h = g * t*t / 2.0;
        double d = Math.sqrt(s*s + h*h);

        System.out.print(String.format("%.2f",d));
    }
}
  • 这题输入还好,后面的四舍五入真的真的烦,是的,我又翻车了,double类型算出直接输出老长一段了,系统给我GG。所以没办法,只能记下一个啦, String.format(“格式”,变量); 害,继续继续。

第六关:数学函数之求两数最大者

  • 本关任务:获取键盘两次输入的值,输入两者中的最大数。
import java.util.Scanner;
public class Test6 {
    public static void main(String[] args) {
        
        Scanner reader = new Scanner(System.in);

        double a = reader.nextDouble();
        double b = reader.nextDouble();
        if(a<b)a=b;
        System.out.print(a);
    }
}
  • 啊哈哈哈哈哈哈哈,一次过了,木木露出了欣慰的笑容。

第七关:数学函数之根据三角形三边长求面积

  • 本关任务:根据从键盘输入的三角形的三个边长,求出三角形的面积,忽略三边长度不能组成一个三角形的情况,最后结果保留两位小数。
  • 这里我们要用一下海伦公式哦!
import java.util.Scanner;
public class Test7 {
    public static void main(String[] args) {

        Scanner reader = new Scanner(System.in);

        int a = reader.nextInt();
        int b = reader.nextInt();
        int c = reader.nextInt();

        double p = (a+b+c)/2.0; 
        double s = Math.sqrt(p*(p-a)*(p-b)*(p-c));

        System.out.println("三角形的面积为:"  + String.format("%.2f",s));

    }
}
  • 所以说呀,孰能生巧,现在这东西已经难不倒我啦,啊哈哈哈哈哈哈哈。

第八关:数学函数之三角函数

  • 本关任务:从键盘输入的值分别为三角形的 a、b 两条边长和两边夹角 C 的角度,求出该三角形的面积,请对最终结果保留两位小数。
  • 面积公式就用 s = 1/2 * a*b *sinC 哦。
import java.util.Scanner;
public class Test8 {
	 public static void main(String[] args) {

	        Scanner reader = new Scanner(System.in);

	        double a = reader.nextDouble();
	        double b = reader.nextDouble();
	        double c = reader.nextDouble();
	        		
	        double radians = Math.toRadians(c);			//记得要转化为弧度呢,不然会有偏差的
	        double C = Math.sin(radians);
	        
	        double s = a*b*C/2.0;
	        
	        System.out.format("%.2f",s);   //写着写着,原来这样也可以。舒服了
	    }
}
  • 这个题就是要注意一下角度和弧度之间的转换啦,不然出现偏差你又要怪eclipse是个垃圾东西了,啊哈哈哈哈哈哈哈,人家eclipse挺好的。记得了, Math.toRadians();

第九关:字符变换之大小写字母转换

  • 本关任务:将键盘输入的大写字母转化为小写字母。
import java.util.Scanner;
public class Test9 {
    public static void main(String[] args) {
    	
        Scanner reader = new Scanner(System.in);

		String s = reader.next();			//先输出一串字符串
		char c = s.charAt(0);				//然后我们再截取第一个值
		
		c = (char)(c+32);
		System.out.print(c);
    }
}
  • 原本以为很简单,但是一开始做就发现,怎么出入一个字符呀,害,找了许久,还是觉得这样子比较好,你学废了吗?啊哈哈哈哈哈哈哈。

第十关:基本数据类型转换

  • 本关任务:变量 a 是一个 double 型的变量,请将其强转为 int 型,变量 b 是一个 short 型的变量,请将其转换为 double 型。
import java.util.Scanner;
public class Test10 {
    public static void main(String[] args) {

        Scanner reader = new Scanner(System.in);
        double a = reader.nextDouble();
        short b = reader.nextShort();

		int c = (int )a;
		double d = b;

		System.out.println(c);
		System.out.print(d);
    }
}
  • 咳咳,这里有个地方是要注意的,就是当小的类型去接大的类型的时候,需要先将大的类型给强制转换掉,但是用大的数据类型去接是可以直接赋值的哦。奥里给!!!

第十一关:银行复利计息收益计算

  • 本关任务:假定一个用户每月向一个储蓄帐户中存 1000 元人民币,年利率为 2.25%。那么月利率为 0.0225/12=0.001875。第一个月后,账户金额变为 1000*(1+0.001875)=1001.875,第二个月后,账户金额变为 (1001.875) *(1+0.001875)=1003.753516,依次类推。编写一个程序,输出 6 个月后的账户金额。
public class Test11 {
	public static void main(String[] args) {
		double s = Math.pow((1+0.001875),6);
		System.out.format("%.2f",s*1000);
	}
}
  • 这个题目应该是学会怎么用pow求阶乘之类以后,复习了复习了,好兄弟们,啊哈哈哈。

第十二关:温度换算

  • 本关任务:编写一个程序,依次将摄氏温度为 1°、2°、3°、4°、5° 转化为对应的华氏温度,将该值四舍五入保留两位小数后格式化输出, 摄氏温度和华氏温度转换公式如下:
  • 华氏温度 = ( 9/5 ) × 摄氏温度 + 32。
  • 输出格式例子:摄氏温度为20时,华氏温度为68.00。
public class Test12 {
	public static void main(String[] args) {
		int []a = {1,2,3,4,5};
		for(int i=0;i<a.length;i++) {
			double s = 9/5.0*a[i] + 32;
			System.out.print("摄氏温度为" + a[i] +"时,华氏温度为"+ String.format("%.2f", s) + "。");
			if(i!=a.length-1)System.out.println();
		}
	}
}
  • 嘿嘿,想难我,不可能,啊哈哈哈哈哈哈哈。
  • 有时候题目会要求你自己写一个公共类,并给你名字哦,我这里直接用Text12了,记得改哦。

第十三关:金融投资收益计算

  • 本关任务:编写程序,读入投资额、年利率和投资年限,利用下面公式计算投资的未来价值:
  • 未来价值 = 投资额×(1+月利率)^{12*年数}未来价值=投资额×(1+月利率) 12∗年数。
  • 例如,如果输入投资额 1000、年利率 0.0325 和投资年限 1 年,则程序输出投资的未来价值为 1032.98 。
import java.util.Scanner;
public class Test13 {
	public static void main(String[] args) {
		Scanner reader = new Scanner(System.in);
		
		double s = reader.nextDouble();
		double y = reader.nextDouble();
		int cnt = reader.nextInt();
		y = y/12.0;
		double m = Math.pow((1+y),cnt*12) ;
		System.out.format("%.2f",s*m);
	}
}
  • 咳咳,这个题你有没有好好看题目呢,上面写的是月利率哦,但是我们的输入缺失年利率哦,啊哈哈哈哈哈哈哈,我都忍不住要夸一句了,你真细,啊哈哈哈哈哈哈哈。
  • 其余的还好啦,嗯嗯,加油哦!

咳咳,马宁老师的Java实训还是给力的。反正第一章让我们舒服了,啊哈哈哈哈哈哈哈。
明天继续第二章的奋斗。你也要加油哦,咳咳,我先去忍忍了,嘿嘿。

改革尚未成功,同志仍需努力!!!
  • 17
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
写在前面的话 引言 1. 前提 2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 实现方案的隐藏 1.4 方案的重复使用 1.5 继承:重新使用接口 1.5.1 改善基础类 1.5.2 等价和类似关系 1.6 多形对象的互换使用 1.6.1 动态绑定 1.6.2 抽象的基础类和接口 1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11 Java和因特网 1.11.1 什么是Web? 1.11.2 客户端编程 1.11.3 服务器端编程 1.11.4 一个独立的领域:应用程序 1.12 分析和设计 1.12.1 不要迷失 1.12.2 阶段0:拟出一个计划 1.12.3 阶段1:要制作什么? 1.12.4 阶段2:开始构建? 1.12.5 阶段3:正式创建 1.12.6 阶段4:校订 1.12.7 计划的回报 1.13 Java还是C++? 第2章 一切都是对象 2.1 用句柄操纵对象 2.2 必须创建所有对象 2.2.1 保存在什么地方 2.2.2 特殊情况:类型 2.2.3 Java的数组 2.3 绝对不要清除对象 2.3.1 作用域 2.3.2 对象的作用域 2.4 新建数据类型:类 2.4.1 字段和方法 2.5 方法、自变量和返回值 2.5.1 自变量列表 2.6 构建Java程序 2.6.1 名字的可见性 2.6.2 使用其他组件 2.6.3 static关键字 2.7 我们的第一个Java程序 2.8 注释和嵌入文档 2.8.1 注释文档 2.8.2 具体语法 2.8.3 嵌入 2.8.4 @see:引用其他类 2.8.5 类文档标记 2.8.6 变量文档标记 2.8.7 方法文档标记 2.8.8 文档示例 2.9 编码样式 2.10 总结 2.11 练习 第3章 控制程序流程 3.1 使用Java运算符 3.1.1 优先级 3.1.2 赋值 3.1.3 算术运算符 3.1.4 自动递增和递减 3.1.5 关系运算符 3.1.6 逻辑运算符 3.1.7 按位运算符 3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 字串运算符 3.1.12 运算符常规操作规则 3.1.13 造型运算符 3.1.14 Java没有“sizeof” 3.1.15 复习计算顺序 3.1.16 运算符总结 3.2 执行控制 3.2.1 真和假 3.2.3 反复 3.2.6 断和继续 3.2.7 切换 3.3 总结 3.4 练习 第4章 初始化和清除 4.1 由构建器保证初始化 4.2 方法过载 4.2.1 区分过载方法 4.2.2 类型的过载 4.2.3 返回值过载 4.2.4 默认构建器 4.2.5 this关键字 4.3 清除:收尾和垃圾收集 4.3.1 finalize()用途何在 4.3.2 必须执行清除 4.4 成员初始化 4.4.1 规定初始化 4.4.2 构建器初始化 4.5 数组初始化 4.5.1 多维数组 4.6 总结 4.7 练习 第5章 隐藏实施过程 5.1 包:库单元 5.1.1 创建独一无二的包名 5.1.2 自定义工具库 5.1.3 利用导入改变行为 5.1.4 包的停用 5.2 Java访问指示符 5.2.1 “友好的” 5.2.2 public:接口访问 5.2.3 private:不能接触 5.2.4 protected:“友好的一种” 5.3 接口与实现 5.4 类访问 5.5 总结 5.6 练习 第6章 类再生 6.1 合成的语法 6.2 继承的语法 6.2.1 初始化基础类 6.3 合成与继承的结合 6.3.1 确保正确的清除 6.3.2 名字的隐藏 6.4 到底选择合成还是继承 6.6 递增开发 6.7 上溯造型 6.7.1 何谓“上溯造型”? 6.8 final关键字 6.8.1 final数据 6.8.2 final方法 6.8.3 final类 6.8.4 final的注意事项 6.9 初始化和类装载 6.9.1 继承初始化 6.10 总结 6.11 练习 第7章 多形性 7.1 上溯造型 7.1.1 为什么要上溯造型 7.2 深入理解 7.2.1 方法调用的绑定 7.2.2 产生正确的行为 7.2.3 扩展性 7.3 覆盖与过载 7.4 抽象类和
Java高级程序设计 第1章 Java编码规范 1.1 应用场景1.2 相关知识1.3 任务实施1.4 拓展知识1.5 拓展训练1.6课后小结 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第1页。 1.1 应用场景 一个大型的软件项目是由一个团队来完成的,每个程序员在给包、类、 变量、方法取名的时候,如果根本没有一点约定,只是随心所欲,可能会带来一系列问题。 编码规范是程序编码所要遵循的规则,保证代码的正确性、稳定性、可读性。规范编码有以下作用。 一、规范的代码可以促进团队合作 二、规范的代码可以减少bug处理 三、规范的代码可以降低维护成本 四、规范的代码有助于代码审查 五、养成代码规范的习惯,有助于程序员自身的成长 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第2页。 1.2 相关知识 1.2.1 文件后缀名 1.2.2 源文件样式约定 1.2.3 注释规范 1.2.4 命名规范 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第3页。 1.2.1 文件后缀名 表1-1 Java程序使用的文件后缀名 文件类别 文件后缀名 Java源文件 .java Java字节码文件 .class 其两者最本质的区别在于,.Java文件是供虚拟机运行时执行的文件, 而.class文件可以让你在任何一台安装了Java虚拟机的机器上运行。 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第4页。 1.2.2 源文件样式约定 Java源文件必须按顺序由以下3部分组成。 1、版权信息。 2、包和引入语句。 3、类和接口声明。 1. 版权信息 版权和版本信息必须在Java文件的开头,其他不需要出现在javadoc的信息也可以包含在这里。 2. 包和引入语句 package 行要在import行之前,import 标准的包名要在本地的包名之前,而且按照字母顺序排列。如果 import 行包含了同一个包的不同子目录,则应该用 * 来处理。 3. 类和接口声明 每个Java源文件都包含一个单一的公共类或接口。 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第5页。 1.2.3 注释规范 1.注释编写的原则 (1)注释形式统一。 在整个应用程序,使用具有一致的标点和结构的样式来构造注释。如果在其他项目发现它们的注释规范与这份文档不同,按照这份规范写代码,不要试图在既成的规范系统引入新的规范。 (2)注释内容准确简洁。 内容要简单、明了、含义准确,防止注释的多义性,错误的注释不但无益反而有害。 2.注释类型的基本划分 (1)基本注释必须要添加,包括以下几种: 1、类(接口)的注释; 2、构造函数的注释; 3、方法的注释; 4、全局变量的注释; 5、字段/属性的注释; 简单的代码做简单注释,注释内容不大于10个字即可,另外,持久化对象或VO对象的getter、setter方法不需加注释。 (2)特殊必加的注释包括以下几种: 1、典型算法必须有注释。 2、在代码不明晰处必须有注释。 3、在代码修改处加上修改标识的注释。 4、在循环和逻辑分支组成的代码加注释。 5、为他人提供的接口必须加详细注释。 具体的注释格式自行定义,要求注释内容准确简洁。 3.注释的格式 (1)单行(single-line)注释格式为"//……"。 (2)块(block)注释格式为"/*……*/"。 (3)文档注释格式为"/**……*/"。 (4)Javadoc注释标签语法如下: @author 对类的说明,标明开发该类模块的作者; @version 对类的说明,标明该类模块的版本; @see 对类、属性、方法的说明,参考转向,也就是相关题; @param 对方法的说明,对方法某参数的说明; @return 对方法的说明,对方法返回值的说明; @exception 对方法的说明,对方法可能抛出的异常进行说明。 Java高级程序设计实战教程第一章-Java编码规范全文共13页,当前为第6页。 1.2.4 命名规范 命名指系统对包名、目录(类名)、方法、常量、变量等标识符的命名。标识符的命名力求做到统一、达意、简洁,遵循驼峰法则。 统一是指对于同一个概念,在程序用同一种表示方法。例如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目保持统一。 达意是指标识符能准确地表达出它所代表的意义,如newSupplier, OrderPaymentGatewayService等;而 supplier1, service2,idtts等则不是好的命名方式。 简洁是指,在统一和达意的前提下,用尽

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木木不会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值