实验报告:
1.打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身。例如,153是一个“水仙花数”。
实验代码:
public class ShuiXianHua {
public static void main(String[] args) {
for (int i = 100; i <1000 ; i++) {
int firstNum = i/100;
int secondNum = i/10%10;
int thirdNum = i%10;
if(firstNum*firstNum*firstNum + secondNum*secondNum*secondNum+thirdNum*thirdNum*thirdNum == i){
System.out.println("水仙花数为:" + i);
}
}
}
}
public static void main(String[] args) {
for (int i = 100; i <1000 ; i++) {
int firstNum = i/100;
int secondNum = i/10%10;
int thirdNum = i%10;
if(firstNum*firstNum*firstNum + secondNum*secondNum*secondNum+thirdNum*thirdNum*thirdNum == i){
System.out.println("水仙花数为:" + i);
}
}
}
}
运行截图:
2. 编写Java程序,求13-23+33-43+…+973-983+993-1003的值。
实验代码:
public class ForDemo{
public static void main(String[] args){
int sum = 0;
int i;
int n;
for( i = 13; i<=1003;){
for(n=1;n<=100;n++){
if(n%2==0)
sum-=i;
else
sum+=i;
i+=10;
}
}
System.out.println(sum);
}
}
public static void main(String[] args){
int sum = 0;
int i;
int n;
for( i = 13; i<=1003;){
for(n=1;n<=100;n++){
if(n%2==0)
sum-=i;
else
sum+=i;
i+=10;
}
}
System.out.println(sum);
}
}
实验截图:
3. 编程求1!+2!+3!+…+20!。
实验代码:
public class ForDemo{
public static void main(String[] args){
long sum = 0;
for(int i=0;i<20;i++)
sum += factorial(i+1);
System.out.println(sum);
}
private static long factorial(int n){
int mult = 1;
for(int i=1;i<n+1;i++)
mult *= i;
return mult;
}
}实验截图:
public static void main(String[] args){
long sum = 0;
for(int i=0;i<20;i++)
sum += factorial(i+1);
System.out.println(sum);
}
private static long factorial(int n){
int mult = 1;
for(int i=1;i<n+1;i++)
mult *= i;
return mult;
}
}实验截图:
4. 编写Java程序,计算8+88+888+…前10项之和。
实验代码:
public class ForDemo{
public static void main(String args[]){
long a,b=0, c=0;
System.out.println("sum");
for(a=1;a<=10;a++){
b=b*10+8;
c+=b;
}
System.out.print(c);
}
}
public static void main(String args[]){
long a,b=0, c=0;
System.out.println("sum");
for(a=1;a<=10;a++){
b=b*10+8;
c+=b;
}
System.out.print(c);
}
}
实验截图:
5. 一个数如果恰好等于它的因子之和,这个数就称为完数。编写程序输出1000以内的所有完数。
实验代码:
public class ForDemo{
public static void main(String[] args){
int i,j;
int num = 0;
for(i=1; i<=1000; i++){
num = 0;
for(j=1; j<i; j++){
if(i%j == 0){
num = num+j;
}
}
if(i == num){
System.out.print(i+" ");
}
}
}
}
public static void main(String[] args){
int i,j;
int num = 0;
for(i=1; i<=1000; i++){
num = 0;
for(j=1; j<i; j++){
if(i%j == 0){
num = num+j;
}
}
if(i == num){
System.out.print(i+" ");
}
}
}
}
实验截图:
6. 编写应用程序,输出满足1+2+3+…+n<8888的最大正整数。
实验代码:
public class ForDemo{
public static void main(String[] args){
int sum=0;
int i;
for(i=1;sum+i<8888;i++){
sum=sum+i;
}
System.out.println("sum"+sum);
System.out.println(i-1);
}
}
public static void main(String[] args){
int sum=0;
int i;
for(i=1;sum+i<8888;i++){
sum=sum+i;
}
System.out.println("sum"+sum);
System.out.println(i-1);
}
}
实验截图:
7. 使用for循环打印下面的图(等腰三角形)
实验代码:
public class ForDemo{
public static void main(String[]args){
for(int i=1; i<=5; i++){
for(int n=0; n<5-i; n++){
System.out.print(" ");
}
for(int x=1; x<=i; x++){
System.out.print("* ");
}
System.out.println();
}
}
}
public static void main(String[]args){
for(int i=1; i<=5; i++){
for(int n=0; n<5-i; n++){
System.out.print(" ");
}
for(int x=1; x<=i; x++){
System.out.print("* ");
}
System.out.println();
}
}
}
实验截图:
课程总结:这周学习了this的用法,Java关键字,一个源文件的格式。总体难度不算太难,难度梯度也设置得挺适合