第三周课程总结&实验报告(一)
实验报告(一)
1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
(1).实验代码:
package 测试;
public class 测试0 {
public static void main(String[] args) {
int sum,a,b,c;
for(a=1;a<=9;a++)
{
for(b=0;b<=9;b++)
{
for(c=0;c<=9;c++)
{
sum=a*100+b*10+c;
if(sum==a*a*a+b*b*b+c*c*c)
{
System.out.println(sum);
}
}
}
}
}
}
(2)实验运行结果截图:

(3)实验大致思路:
题目限制了3位数,所以可以直接用3个数进行循环,然后判断符合的数进行输出
2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
(1).实验代码:
package 测试;
public class 测试0 {
public static void main(String[] args) {
int sum=0,a,b=1;
for(a=1;a<=100;a++)
{
sum+=(a*10+3)*b;
b=-b;
}
System.out.println(sum);
}
}
(2).实验运行结果截图:

(3)实验大致思路:
观察题目就大致能看出来是a*10+3模式的数进行循环加减,直接循环之后输出最后的结果就完成了
3. 编程求1!+2!+3!+…+20!。
(1).实验代码:
package 测试;
public class 测试0 {
public static void main(String[] args) {
long sum=0,a,b,c;
for(a=1;a<=20;a++)
{
b=1;
for(c=1;c<=a;c++)
{
b*=c;
}
sum+=b;
}
System.out.println(sum);
}
}
(2)实验运行结果截图:

(3)实验大致思路:
需要在题目中建立一个循环来计算阶乘,完成了计算阶乘这一步剩下的就只是相加然后输出结果,但是如果定义的变量为int,就会出问题,结果是268040729,改成long之后就正常了,结果为2561327494111820313.原因是数字太大,超出了范围.
4. 编写Java程序,计算8+88+888+…前10项之和。
(1).实验代码:
package 测试;
public class 测试0 {
public static void main(String[] args) {
int sum=0,a,b=0;
for(a=1;a<10;a++)
{
b=b*10+8;
sum+=b;
}
System.out.println(sum);
}
}
(2)实验运行结果截图:

(3)实验大致思路:
和第二题类似,都是找到循环相加的式子直接循环相加并输出
5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
(1).实验代码:
package 测试;
public class 测试0 {
public static void main(String[] args) {
int sum;
for(int i=1;i<=1000;i++)
{
sum=0;
for(int j=1;j<=i-1;j++)
{
if(i%j==0)
{
sum+=j;
}
}
if(i==sum)
{
System.out.println(sum);
}
}
}
}
(2)实验运行结果截图:

(3)实验大致思路:
循环1~1000所有的数,将不等于本身的他们的因子相加之后再与原来的数进行比较,相同则可以直接输出
6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
(1).实验代码:
package 测试;
public class 测试0 {
public static void main(String[] args) {
int sum=0;
for(int i=1;i<8888;i++)
{
sum+=i;
if(sum>8888)
{
sum=sum-i;
i--;
System.out.println("n为"+i);
System.out.println("最大总和为"+sum);
break;
}
}
}
}
(2)实验运行结果截图:

(3)实验大致思路:
把1,2,3...n逐渐相加,直到出现大于8888的,这个时候总数减去这轮循环加的数,这轮循环加的数减一就可以求出n还有小于8888的最大和
7. 使用for循环打印下面的图(等腰三角形)

(1).实验代码:
package 测试;
public class 测试0 {
public static void main(String[] args) {
int a=4,b=0;
for(int i=1;i<=5;i++)
{
for(int j=1;j<=a;j++)
{
System.out.print(" ");
}
System.out.print("*");
for(int k=1;k<=b;k++)
{
System.out.print(" *");
}
a--;
b++;
System.out.println("");
}
}
}
(2)实验运行结果截图:

(3)实验大致思路:
设计好要输出多少空格和什么时候输出空格和*,然后用for循环输出就可以了
第三周课程总结:
这周对java进一步的学习,学习了很多新的用法,但是还是不能很熟练的运用到实际使用,这次作业的7道题不难,能用C语言的模式稍微变动一下就行了,不过java还是对我来说有些复杂,我觉得我要通过题目才能把java的那些方法运用起来.
理论比起实践来说还是后者比较重要而且相对更容易弄懂.
第三周课程总结&实验报告(一)的更多相关文章
- Java第三周课程总结&实验报告一
第三周课程总结 1.关于面向对象的一些具体内容,明白了类与对象以及Java的封装性和构造方法以及对对象匿名的相关知识. 2.this关键字,它是表示类的成员属性(变量),使用this构造方法时必须放在 ...
- 第三周课程总结&实验报告
课程总结 在这周对Java进行了更深层次的学习,Java的学习也变得越来越困难而有趣,加入了一些新的构造新的方法,还学习了一些简化代码的方式. 面向对象的基本概念 对于面向对象的程序设计有三个主要特征 ...
- 第三周课程总结&实验报告一
实验一 Java开发环境与简单Java程序 一.实验目的 熟悉JDK开发环境 熟练掌握结构化程序设计方法 二.实验内容 1.在此处输入标题打印输出所有的"水仙花数",所谓" ...
- 第五周课程总结&实验报告(三)
实验三 String类的应用 实验目的: (1)掌握类String类的使用: (2)学会使用JDK帮助文档: 实验内容: 1.已知字符串:"this is a test of java&qu ...
- 第九周课程总结 & 实验报告(七)
第九周课程总结 一.多线程 1.线程的状态 2.线程操作的相关方法 二.Java IO 1.操作文件的类---File ()基本介绍 ()使用File类操作文件 .RandomAccessFile类 ...
- 第八周课程总结 & 实验报告(六)
第八周课程总结 一.包装类 介绍 装箱与拆箱 应用 二.异常 基本概念 基本格式 异常类的继承结构 throws关键字 throw关键字 Exception类和RuntimeException类 自定 ...
- 第七周课程总结 & 实验报告(五)
第七周课程总结 一.抽象类与接口的应用 1.实例化 2.实际应用 ---模板设计(抽象类) ---制定标准(接口) 3.设计模式 ---工厂设计 ---代理设计 ---适配器设计 二.抽象类与接口之间 ...
- 第八周课程总结&实验报告(六)
第八周课程总结 启动多线程售票(上课老师说要加入作业的部分) public class TestDemo { public static void main(StringD args) throws ...
- 第五周课程总结&实验报告(四)
第五周课程总结 本周主要学习了 1.抽象类 抽象类的定义格式 abstract class抽象类名称{ 属性; 访问权限返回值类型方法名称(参数){ //普通方法 [return返回值]; } 访问权 ...
随机推荐
- mysql(中)
mysql(中) 一.数据库配置 1.登录mysql 2.在mysql安装目录下:创建my.ini(my.cnf) 3.设置配置信息并保存 ''' [mysqld] character-set-ser ...
- 网络架构,七层协议,三次握手四次挥手,socket套接字简单编程
一.单机架构 应用领域: 植物大战僵尸 office 二.CS架构 应用领域: QQ 大型网络游戏 计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端. 客户端:用户安装的软 ...
- Comet OJ - Contest #5 E 迫真大游戏
怎么说,看了推到之后真的不难,事实上确实也蛮友好(可能咱就是想不出多项式题目的做法???),除了用到了分治法法塔就比较毒瘤 花了一个晚上以及一个上午做这么一道题...(还是太菜了) Result1 分 ...
- Chrome之谷歌插件开发
最近碰到一个需求,需要在某个平台上批量的添加好友,如果是人工点击,可以操作,但是效率并不高,人工成本较高.就打算使用浏览器插件的方式来完成这件重复性的工作. 介绍: Chrome插件的本质就是一个由 ...
- 在浏览器输入url,发生了什么?BSC结构图(百度搜索关键字发生了什么?)
服务器---------->软件(客户端) 百度搜索周杰伦,发生了什么
- hadoop最简伪分布式安装
本次安装运行过程使用的是Ubuntu16.04 64位+Hadoop2.5.2+jdk1.7.0_75 Notice: Hadoop2.5.2版本默认只支持64位系统 使用的jdk可以为1.7和1.8 ...
- Flask开发系列之快速入门
Flask开发系列之快速入门 文档 一个最小的应用 调试模式 路由 变量规则 构造 URL HTTP 方法 静态文件 模板渲染 访问请求数据 环境局部变量 请求对象 文件上传 Cookies 重定向和 ...
- 异步分布式队列Celery
异步分布式队列Celery 转载地址 Celery 是什么? 官网 Celery 是一个由 Python 编写的简单.灵活.可靠的用来处理大量信息的分布式系统,它同时提供操作和维护分布式系统所需的工具 ...
- linux格式化磁盘命令
linux格式化磁盘命令 linux mkfs 指令:mkfs 使用权限 : 超级使用者 使用方式 : mkfs [-V] [-t fstype] [fs-opti ...
- owncloud 安装
假定lamp已安装完成. 1 安装owncloud 使用curl命令下载其发行版密钥(key),并使用add命令将其与apt-key实用程序一起导入: curl https://download.ow ...