实验一 Java开发环境与简单Java程序

一、实验目的

熟悉JDK开发环境

熟练掌握结构化程序设计方法

二、实验内容

1.在此处输入标题打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。

2.编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

3.编程求1!+2!+3!+…+20!。

4.编写Java程序,计算8+88+888+…前10项之和。

5.一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。

6.编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。

7.使用for循环打印下面的图形。

三、实验过程

  1. 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
实验源码:
    package housewor;

    public class Shuixianhua {

    public static void main(String[] args) {
// TODO Auto-generated method stub
int a, b, c;
for(int i=100;i<999;i++)
{
a=i/100;
b=(i%100)/10;
c=i%10;
if(Math.pow(a, 3)+Math.pow(b, 3)+Math.pow(c, 3)==i)
{
System.out.println(i);
}
}
} }

实验结果:

2.编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

实验源码:
public class Demo1 {
public static void main(String[] args) {
int a=0;
for(int i=0;i<100;i++)
{
if(i%2==0)
{
a-=i*10+3; //偶次数前是负号
}
else{
a+=i*10+3;
}
}
System.out.println(a);
}
}
实验结果:

3.编程求1!+2!+3!+…+20!。

实验源码:
public class Demo2 {
public static void main(String[] args) {
int sum=0;
int n=1;
for (int i=1; i<=20 ;i++ ) {
n *= i; //阶乘
sum += n; //累加数值
}
System.out.println(sum);
}
}
实验结果

遇到的问题:

在编译过程中,定义数据类型时,使用int和long显示的结果不同

4.编写Java程序,计算8+88+888+…前10项之和。

实验源码:
public class demo3 {
public static void main(String[] args) {
long a= 8,sum=0;
for(int i=0;i<10;i++)
{
sum+=a; //累加总和
a=a+(a*10); //a+a*10;(a+a*10)*10+a;...
}
System.out.println(sum);
}
}
实验结果:

5.一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。

实验源码:
public class demo4 {
public static void main(String[] args) {
for (int i = 1; i < 1000; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if (i % j == 0) {
sum =sum+ j; //因子数:6=1+2+3
}
}
if (i == sum) {
System.out.println(i);
}
} }
}
实验结果:

6.编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。

实验源码:
public class Demo5 {
public static void main(String[] args) {
int n=0, sum=0;
for(int i =0;i<1000;i++)
{
sum=sum+n;
n++;
if(sum>8888)
{
break;
}
}
n--;
System.out.println(n-1);
}
}
实验结果:

能输出满足1+2+3+…+n<8888的最大正整数应该是n=132

7.使用for循环打印下面的图形。

实验源码:
public class demo6 {
public static void main(String[] args) { for( int i=1;i<=5;i++) //先输出空格,再输出*
{
for(int j=0;j<5-i;j++)
{
System.out.print(" "); //从上往下
}
for(int k=1;k<=i;k++)
{
System.out.print("* ");
}
System.out.println();
} }
}
实验结果:

遇到的问题:写代码的思路是先打空格再打*,出现了问题,后来发现我把j++打成了j--输出一直是个错误,因为想着从上到下,我太难了

实验总结:

在编写代码的过程中会遇到很多问题

1.因为学习基础不扎实,有很多小细节问题需要去百度

2.算法能力还是欠缺的,思路是对的,但是实现起来就要想半天

3.在编译时对语句的使用不熟练

需要去解决:熟练语法,有时间刷刷题,知识点要记牢,不能粗略的阅读

第三周课程总结&实验报告一的更多相关文章

  1. 第三周课程总结&实验报告(一)

    实验报告(一) 1.打印输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个"水仙花数" ...

  2. Java第三周课程总结&实验报告一

    第三周课程总结 1.关于面向对象的一些具体内容,明白了类与对象以及Java的封装性和构造方法以及对对象匿名的相关知识. 2.this关键字,它是表示类的成员属性(变量),使用this构造方法时必须放在 ...

  3. 第三周课程总结&实验报告

    课程总结 在这周对Java进行了更深层次的学习,Java的学习也变得越来越困难而有趣,加入了一些新的构造新的方法,还学习了一些简化代码的方式. 面向对象的基本概念 对于面向对象的程序设计有三个主要特征 ...

  4. 第五周课程总结&实验报告(三)

    实验三 String类的应用 实验目的: (1)掌握类String类的使用: (2)学会使用JDK帮助文档: 实验内容: 1.已知字符串:"this is a test of java&qu ...

  5. 第九周课程总结 & 实验报告(七)

    第九周课程总结 一.多线程 1.线程的状态 2.线程操作的相关方法 二.Java IO 1.操作文件的类---File ()基本介绍 ()使用File类操作文件 .RandomAccessFile类 ...

  6. 第八周课程总结 & 实验报告(六)

    第八周课程总结 一.包装类 介绍 装箱与拆箱 应用 二.异常 基本概念 基本格式 异常类的继承结构 throws关键字 throw关键字 Exception类和RuntimeException类 自定 ...

  7. 第七周课程总结 & 实验报告(五)

    第七周课程总结 一.抽象类与接口的应用 1.实例化 2.实际应用 ---模板设计(抽象类) ---制定标准(接口) 3.设计模式 ---工厂设计 ---代理设计 ---适配器设计 二.抽象类与接口之间 ...

  8. 第八周课程总结&实验报告(六)

    第八周课程总结 启动多线程售票(上课老师说要加入作业的部分) public class TestDemo { public static void main(StringD args) throws ...

  9. 第五周课程总结&实验报告(四)

    第五周课程总结 本周主要学习了 1.抽象类 抽象类的定义格式 abstract class抽象类名称{ 属性; 访问权限返回值类型方法名称(参数){ //普通方法 [return返回值]; } 访问权 ...

随机推荐

  1. Mysql教程-自动备份数据库

       批处理命令: set"Ymd=%date:~,4%%date:~5,2%%date:~8,2%" set"hMs=%time:~,2%%time:~3,2%%tim ...

  2. RestFul是啥

    1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移. 它首次出现在2000年Roy Fielding的 ...

  3. ssh以及双机互信

    当我们要远程到其他主机上面时就需要使用ssh服务了. 我们就来安装一下sshd服务以及ssh命令的使用方法. 服务安装: 需要安装OpenSSH 四个安装包: 安装包: openssh-5.3p1-1 ...

  4. linux安装mysql可视化界面

    之前是一直用shell交互界面,但是最近频繁地检查数据库中的数据感觉特别麻烦,便装了一个可视化工具. 安装: $ sudo apt-get install mysql-workbench [sudo] ...

  5. mongoRepository 支持的所有接口

    与HibernateRepository类似,通过继承MongoRepository接口,我们可以非常方便地实现对一个对象的增删改查,要使用Repository的功能,先继承MongoReposito ...

  6. CodeForces 137A

    Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description Polyca ...

  7. Linux 如何查看端口与进程占用情况

    1 lsof -i:port  查看端口使用情况 lsof -i 如果出现 command not found,直接yum install lsof即可. (1) lsof -i lsof -i 用以 ...

  8. Qt第三方库libvlc-qt——ubuntu上编译、安装,测试

      cmake 3.0编译安装(最低版本要求): sudo apt-get install ncurses-dev sudo apt-get install build-essential 下载cma ...

  9. anroid学习笔记(1)

    大概是2个月前,报名了慕课的android就业班课程. 算是补全了当初博客分类的最初设计. 安卓和前端比较: 1,java在安卓开发中的作用,现在我的认识是和JavaScript在前端web开发中有很 ...

  10. CFS理论模型

    参考资料:<调度器笔记>Kevin.Liu <Linux kernel development> <深入Linux内核架构> version: 2.6.32.9 下 ...