实验报告(一)
1. 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
实验源码:
import java.util.Scanner;
public class Text1
{
public static void main(String[] args) {
int a,b,c;
for(int i=100;i<=999;i++) {
a=i/100;
b=(i%100)/10;
c=i%10;
if(i==Math.pow(a, 3)+Math.pow(b, 3)+Math.pow(c, 3)) {
System.out.println(i);
}
}
}
}
实验结果:
2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
实验源码:
import java.util.Scanner;
public class Text1
{
public static void main(String[] args) {
int value1=13,value2=23,sum=0;
for(;value2<=1003;) {
sum=sum+value1+value2;
value1+=10;
value2+=10;
}
System.out.println(sum);
}
}
实验结果:
3. 编程求1!+2!+3!+…+20!
实验源码;
import java.util.Scanner;
public class Text1
{
public static void main(String[] args) {
int sum=1,SUM=0;
for(int i=1;i<=20;i++) {
sum=sum*i;
SUM=SUM+sum;
}
System.out.println(SUM);
}
}
实验结果:
4. 编写Java程序,计算8+88+888+…前10项之和
实验源码:
import java.util.Scanner;
public class Text1
{
public static void main(String[] args) {
int a=8,sum=0;
for(int i=1;i<=10;i++) {
sum=sum+a;
a=(8+a*10);
}
System.out.println(sum);
}
}
实验结果:
5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
实验源码:
import java.util.Scanner;
public class Text1
{
public static void main(String[] args)
{
int sum=0;
for(int i=1;i<=1000;i++)
{
for(int j=1;j<=i/2;j++)
{
if(i%j==0)
{
sum=sum+j;
}
}
if(i==sum)
{
System.out.println(i);
}
sum=0;
}
}
}
实验结果:
6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
实验源码:
import java.util.Scanner;
public class Text1
{
public static void main(String[] args)
{
int sum=0;
for(int i=1;sum<8888;i++)
{
sum=i+sum;
if(sum+i>8888)
{
System.out.println(i);
break;
}
}
}
}
实验结果:
7. 使用for循环打印下面的图形。
实验源码:
import java.util.Scanner;
public class Text1
{
public static void main(String[] args)
{
int value1=5,point=1;
for(int i=1;i<=5;i++){
point=1;
for(int j=1;;j++){
if(j<=value1){
System.out.print(" ");
}
else{
for(int a=1;a<=i;a++){
System.out.print("* ");
if(a==i){
System.out.print("\n");
point=0;
break;
}
}
}
if(point==0){
break;
}
}
value1--;
}
}
}
实验结果:
总结:
本次实验主要都偏向基础,有一定C语言基础就不难,大部分都考察了常见的循环结构和分支结构,我在实验过程中没有出现什么值得一提的问题。
第三周课程总结
1,封装性
为属性封装:private 属性类型 属性名称
为方法封装:private 方法返回值 方法名称(参数列表){}
只要是被封装的属性,则必须通过setter和getter方法设置和取得。
setter和和getter可以在eclipse上的源码选项中快速建立。
2,构造方法
构造方法用于程序的初始化和属性的初始化。
构造方法的声明需要遵守以下要点:
①构造方法必须与类名称一致。
②构造方法的声明处不能有任何返回值类型的声明。
③不能在构造方法中使用return返回值一个值。
构造方法定义格式:
class 类名称{
访问权限 类名称(类型1 参数1,类型2 参数2,……){
程序语句;
…… //构造方法没有返回值
}
}
3,this关键字
this关键字有以下作用:
①强调调用本类方法。
②表示类的成员属性(变量)。
③调用构造方法(需放在行首且不能循环调用)
④表示当前对象。
4,static关键字
如果使用static声明属性,则此属性称为全局属性(有些也可称为静态属性)。
当我们需要将大量对象的一个属性修改为同一个结果时,就可以用static将该属性改为公共属性。
类属性调用:
类名称.static 属性
使用static声明方法:
Static既可以在声明属性时使用,也可以用其来声明方法,用它声明的方法有时也被称为“类方法”,可以由类名称直接调用。
5,Java常用的内存区域:
①栈内存空间:保存所有的对象名称(保存了引用的堆内存空间的地址)
②堆内存空间:保存每个对象的具体属性内容。
③全局数据区:保存static类型的属性。
④全局代码区:保存所有的方法定义。