一、实验报告
1)打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
I、实验代码
public class text {
public static void main(String args[]) {
int x,y,z;
for(int i=0;i<999;i++) {
x=i/100;
y=(i%100)/10;
z=i%10;
if(Math.pow(x, 3)+Math.pow(y, 3)+ Math.pow(z, 3)==i){
System.out.println(i);
}
}
}
}
II、运行结果截图
2)编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
I、实验代码
public class text {
public static void main(String args[]) {
int flag=-1,sum=0;
for(int i=13;i<=1003;i=i+10) {
flag=flag*(-1);
sum+=flag*i;
}
System.out.println(sum);
}
}
II、运行结果截图
3)编程求1!+2!+3!+…+20!。
I、实验代码
public class text {
public static void main(String args[]) {
long flag=1,sum=0;
for(int i=1;i<=20;i++) {
flag=flag*(i);
sum+=flag;
}
System.out.println(sum);
}
}
II、运行结果截图
4) 编写Java程序,计算8+88+888+…前10项之和。
I、实验代码
public class text {
public static void main(String args[]) {
long flag=0,sum=0;
for(int i=1;i<=10;i++) {
flag=flag*10+8;
sum+=flag;
}
System.out.println(sum);
}
}
II、运行结果截图
5)一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
I、实验代码
public class text {
public static void main(String args[])
{
for(int i=2;i<=1000;i++)
{
int flag=0;
for(int j=1; j<=i/2; j++)
{
if(i % j == 0)
{
flag=flag+j;
}
}
if(flag == i)
{
System.out.println(i);
}
}
}
}
II、运行结果截图
6)编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
I、实验代码
public class text {
public static void main(String args[])
{
int i=0,sum=0;
while(sum < 8888)
{
i++;
sum+=i;
}
System.out.println(i-1);
}
}
II、运行结果截图
小结:这个题目在输出的时候没想清楚,得到的答案是133,看了一下别人的代码才明白
7)使用for循环打印下面的图(等腰三角形)
I、实验代码
public class text
{
public static void main(String args[])
{
for(int i=1;i<=5;i++)
{
for(int j=5-i;j>=0;j--)
{
System.out.print(" ");
}
for(int j=1;j<=i;j++)
{
System.out.print("* ");
}
System.out.println();
}
}
}
II、运行结果截图
总结:虽然这一次的题目并不是特别难,但是我总是出错在一些小细节上,感觉自己学的还是不够,以后要更加努力。
二、课程总结
1)this的用法
I、表示类中的属性
II、调用本类的构造方法
III、表示当前对象
2)static的用法
I、设置静态变量
II、设置静态方法
(注:static方法不能调用非static的方法或属性,且不能与this同时使用)