第三周实验题目+总结

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

代码:

package o;
public class a
{
public static void main(String[] args)
{
int flower;
for (int s=1; s<9; s++)
{
for (int j=1; j<9; j++)
{ for (int k=1; k<9; k++)
{
flower = s*100 + j*10 + k;
if(Math.pow(s,3)+Math.pow(j,3)+Math.pow(k,3) == flower)
{
System.out.println(flower);
}
}
} } }
}

运行截图:

第二题:编写Java程序,求13-23+33-43+…+973-983+993-1003的值。

代码:

package o;
public class a
{
public static void main(String[] args)
{ int r = 0;
int flag = 1, t = 3; for(int i=1;i<=100;i++) {
r +=flag*((i*10)+t);
flag = -flag;
}
System.out.println(r);
} }

运行截图:

第三题:编程求1!+2!+3!+…+20!。

代码:

package o;
public class a
{
public static void main(String[] args) {
int i = 0; for (int k=1;k<=20;k++)
{
i += factorial(k); } System.out.println(i);
} public static long factorial(int num)
{
long sum = 1L; for (long x=1L; x<=num; x++)
{
sum *= x;
} return sum;
} }

运行截图:

第四题:编写Java程序,计算8+88+888+…前10项之和。

代码:

package o;
public class a
{
public static void main(String[] args)
{
long r = 0,a = 8;
for(int i=1;i<=10;i++)
{
r = r + a;
a = a * 10 + 8;
}
System.out.println(""+r);
}
}

运行截图:

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

代码:

package o;
public class a
{
public static void main(String[] args)
{
for (int x=1; x<=1000; x++)
{ int r=0;
for(int k=1; k<x;k++)
{
if (x%k ==0)
{r += k;
}
}
if(r == x)
{
System.out.println(x);
}
}
}
}

运行截图:

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

代码:

package o;
public class a
{
public static void main(String[] args)
{
int h,l=0; for(h=1;h<8888;h++)
{ l=l+h;
if(l>=8888)
break;
}
System.out.println(h);
}
}

运行截图:

第七题:使用for循环打印下面的图(等腰三角形)

代码:

package o;
public class a
{
public static void main(String[] args)
{
int flag = 5; for (int a=1; a<=flag; a++){
for (int c=0; c<flag-a; c++){
System.out.print(" ");
} for (int j=1; j<=a; j++) {
if(j==a){
System.out.print("*");
} else{
System.out.print("* ");
}
} System.out.println("");
}
}
}

运行截图:

这周学习的知识点:

一、this关键字主要有三个应用:

(1)this调用本类中的属性,也就是类中的成员变量;

(2)this调用本类中的其他方法;

(3)this调用本类中的其他构造方法,调用时要放在构造方法的首行。

Public Class Student {

String name; //定义一个成员变量name

private void SetName(String name) { //定义一个参数(局部变量)name

this.name=name; //将局部变量的值传递给成员变量

}

}

this指的是当前正在访问这段代码的对象,当在内部类中使用this指的就是内部类的对象, 为了访问外层类对象,就可以使用外层类名。

1、this调用当前属性:其主要作用是当需要给类中的数据进行初始化时,可以通过this来进行赋值,而不用随便定义一个变量来进行赋值。

2、构造方法:普通方法与构造方法的区别是构造方法在创建后只能掉用一次,用来初始化数据,而普通方法在创建后可以调用多次。对this调用必须是构造方法中的第一个语句,否则便会出错,当然也不能在普通方法中调用构造方法。最为重要的是,使用this调用不能形成循环,即不能形成递归调用而没有出口。

3、this表示当前方法,在整个过程中,this的定义没有变,只要有某一个对象调用本类中的方法,此时this就表示当前执行的对象。

二、

关于main的讲解,刚好和我这周用eclipse有点关系。https://www.cnblogs.com/xy-hong/p/7197725.html 我觉得这个网站上讲的比较详细and精华,就贴一下吧~

三、

(一些小的知识点总结起来的,包括上周的一点)

①参数传值分为基本数据类型参数的传值和引用类型参数的传值。基本数据类型参数的传值能将低精度传给高精度,但不能将高精度传给低精度;引用类型参数的传值传的是参数,如果改变参数变量所引用的实体,就会导致原变量的实体发生同样的变化。对象的组合就是把某类的对象将其他对象作为自己的组成部分,即对象a委托对象b调用b的方法来得到a想要的结果。

②成员变量可以分为实例变量和类变量,在声明成员变量时用关键字static给予修饰的称作类变量,否则称作实例变量。不同对象的实例变量互不相同,所有对象共享类变量,通过类名,可以直接访问类变量。

③类中的方法也可以分为实例方法和类方法,加static关键字修饰的是类方法静态方法,否则为实例方法。实例方法不仅可以操作实例变量,也可以操作类变量。类方法只能操作类变量,不可以操作实例变量。如果一个方法不需要操作类中的任何实例变量就可以满足程序的需要,可以考虑将这样的方法设计为一个类方法。

④方法重载的意思是一个类中可以有多个方法,具有相同的名字,但这些方法的参数必须不同。即参数的个数不同或参数的个数相同,但参数列表中对应的某个参数的类型不同。

⑤不同Java源文件中的两个类名字相同时他们可以通过隶属于不同的包来互相区分,用“package 包名”来指名该源文件定义的类所在的包。

⑥用javac -d . 类名.java来编译源文件,用java 包名.类名 来运行字节码文件。

⑦import 可以引入类库中的类和自定义包中的类,自定义包名形成的目录和无包名的类,应该放在同一文件夹中。

作业过程中遇到的问题及总结:

JDK的环境搭建没弄好,就用了eclipse来码。而上手这个软件也是真心困难,因为花了我很多时间都没搞好,所以心情就蛮烦躁的,而且也开始怀疑自己是不是不适合搞这些,运行结果下面的那几条红字把我搞毛躁了,也问了一些比我有经验的同学,并未得到解决,就度娘了一波。





以及一个我觉得写的很好的能解决这个问题的网站(虽然我并没解决自己的问题...):https://blog.csdn.net/u011170921/article/details/47614063

好吧原来是菜鸟问题,想想也是,看了别的同学也用的这个软件写的为什么很顺畅,而我就搞半天都搞不好,跟着操作依然是一行又一行的醒目的红。但我大概就知道了是自己没有“包头”的问题这种,以及新建类啥的。直到今天下午问了李萱,她告诉我改了对应的package和public class,顺便解决了我的几个小问题+鼓励我keep going on,我终于解决了第一个作业题。我太难了.......后面的题目也遇到了一些麻烦,但是都问题不大,因为主要还是“借鉴”的网上或者平日里比较会的同学的代码,我是really比珍珠还真的菜,也想自己动脑,奈何实力不够,看了别人的代码然后自己理解了一波再改了些比较基础的东西。这次作业我真的要非常非常非常感谢学委,就在这里记录下来吧,前些日子不着急,这两天却急得像热锅上的蚂蚁。像上学期一样,只要有问题了我最先找的就是学委,这两天刚好也是学委的生日,我...仍然死皮赖脸的问..问了好多好多,我超级不好意思,因为实在是问的太蠢了,学委还是emmmmm告诉我了,一个一个的告诉我,因为这种弱智问题还浪费同学的时间让我更加想好好学了..(学不会就是另一件事了 哈 哈 哈 哈.. ....),不管怎么说这次作业还是搞完了,有几个题也没看懂,打算周一周二再看看回顾回顾吧,怕考试不会(学委说完全copy代码会担心我考试出问题...为了这句话我也要好好学习Java呀!!!!下次作业希望少骚扰学委吧就...

#Java第三周总结的更多相关文章

  1. JAVA第三周作业(从键盘输入若干数求和)

    JAVA第三周作业(从键盘输入若干数求和) 在新的一周,我学习了JAVA的IO编程.下面的代码实现了从键盘输入若干数求和的目标.import java.util.Scanner; public cla ...

  2. 20165210 Java第三周学习总结

    20165210 Java第三周学习总结 教材学习内容总结 - 第四章学习总结 编程语言的几个发展阶段: 面向机器语言 面向过程语言 面向对象语言 类: 类声明: class People { ... ...

  3. 20145304 Java第三周学习报告

    20145304 <Java程序设计>第三周学习总结 教材学习内容总结 1.定义类: 类定义时使用class关键词,建立实例要使用new关键词. 代码如下: /*定义类 书上例子 衣服的型 ...

  4. JAVA第三周学习总结

    20175303 2018-2019-2 <Java程序设计>第三周学习总结 教材学习内容总结 •编程语言的发展分为三个阶段,分别是:面向机器,面向过程,面向对象的语言.Java属于面向对 ...

  5. JAVA 第三周学习总结

    20175308 2018-2019-2 <Java程序设计>第三周学习总结 教材学习内容总结 本周的学习内容为整个第四章的内容,学习中感觉知识点既多又杂,故在总结时尽量选用重要的或高度概 ...

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

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

  7. 学习Java第三周

    这是学习java的第三周 上周想要学习的这周也完成了,研究和测试代码花费了大约2个小时,发现这些内容方法居多,想要熟练掌握就要好好记忆了 包装类 数字处理类 Object类 Java类包 内部类 下一 ...

  8. 1903021121—刘明伟—Java第三周作业—学习在eclipse上创建并运行java程序

    项目 内容 课程班级博客链接 19信计班(本) 作业要求链接 第三周作业 作业要求 每道题要有题目,代码,截图 扩展阅读 eclipse如何创建java程序 java语言基础(上) 扩展阅读心得: 想 ...

  9. Java第三周总结&实验报告(1)

    总结:不知不觉,到了第三周,回顾这一周,我更加深入了解了main方法,除此之外,学习了两个关键字,一个this,一个static,this在强调属性时,只能放在句首且不能循环调用,static声明用于 ...

随机推荐

  1. idea 高效找出全部未被使用的代码

    不得不说 idea 真的很强大,认真花一些时间,好好研究研究 idea 可以让你编写代码更加的高效,并且 idea 时不时会给你一些惊喜的,比如今天要分享的这个,就非常的惊喜: 背景 前几天,忽然又一 ...

  2. Verilog求余

    在实现三角函数时,考虑到函数的周期性,综量(自变量)需对周期做求余运算. 假设函数周期为T = 2^N,那么求余运算就是直接取该数的低N位,即: 以M位正数为例(符号位为0),reg [M-1:0] ...

  3. Spring MVC ajax提交方式

    使用jquery的ajax的方式来提交 第一种,以json对象的形式提交 var jsonData = { "name" : "zhangsan", " ...

  4. luogu 2279 [HNOI2003]消防局的设立 树形dp

    就是细节多一些,思路都非常常规. Code: #include <bits/stdc++.h> #define N 1005 #define inf 1061109567 #define ...

  5. Transformer模型总结

    Transformer改进了RNN最被人诟病的训练慢的缺点,利用self-attention机制实现快速并行. 它是由编码组件.解码组件和它们之间的连接组成. 编码组件部分由一堆编码器(6个 enco ...

  6. quartz.net 执行后台任务

    ... https://www.cnblogs.com/zhangweizhong/category/771057.html https://www.cnblogs.com/lanxiaoke/cat ...

  7. Android学习_注意事项

    一. Fragment中加载ListView public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle ...

  8. python 二进制加法

    bin(int(a,2)+int(b,2))[2:]

  9. SPOJ AMR12B 720

    这个题应该是个优先队列的模版题 当时比赛的时候没时间做先贴一下大神的代码好好学习学习 B - Gandalf vs the Balrog Time Limit:2000MS     Memory Li ...

  10. iOS (APP)进程间8中常用通信方式总结

    1 URL Scheme 2 Keychain 3 UIPasteboard 4 UIDocumentInteractionController 5 local socket 6 AirDrop 7 ...