实验报告课程名称:Java语言程序设计实验地点:实验楼110专业班级:物联网1601班学号:********** 学生姓名:***指导教师:**2018年05月30日四、实验记录(1)程序:计算100(含100)以内所有偶数的和package FRIST_text;public class One {public static void main(String[] args) {int sum=0;for(int i=0;i<=100;i++)if(i%2==0) sum+=i;System.out.println("Sum= "+sum);}}(2)程序:求所有的水仙花数package FRIST_text;public class Two {public static void main(String[] args) {int cnt=0;for(int i=100;i<=999;i++){if(f(i)) {cnt++;System.out.print(i+"\t");}}System.out.println("\n"+"总共有:"+cnt+"水仙花数");}static boolean f(int n){int a=n%10;int b=(n/10)%10;int c=n/100;if(a*a*a+b*b*b+c*c*c==n)return true;return false;}}(3)程序:求1-100间的素数package FRIST_text;public class Three {public static void main(String[] args) { int cnt=0;for(int i=2;i<=100;i++){if(f(i)){cnt++;System.out.print(i+"\t");}if(cnt==5){cnt=0;System.out.println();}}}static boolean f(int n){boolean flag=true;for(int i=2;i*i<n;i++)if(n%i==0) {flag=false;break;}return flag;}}(4)程序:写一程序,给定x值,输出y值package FRIST_text;import java.util.*;public class Four {public static void main(String[] args) { // TODO Auto-generated method stubint n;System.out.println("请输入一个整数");Scanner sc=new Scanner(System.in);int x=sc.nextInt();if(x<1)System.out.println(x);else if(1<=x&&x<10)System.out.println(3*x-2);elseSystem.out.println(4*x);sc.close();}}。
(5)程序:编写程序输出以下图案package FRIST_text;public class Five {public static void main(String[] args) { // TODO Auto-generated method stubfor(int i=1;i<=7;i=i+2){for(int j=(7-i)/2;j>0;j--)System.out.print(" ");for(int j=i;j>0;j--)System.out.print("☆");System.out.println();}for(int i=5;i>=1;i=i-2){for(int j=(7-i)/2;j>0;j--)System.out.print(" ");for(int j=i;j>0;j--)System.out.print("☆");System.out.println();}}}(6)程序:编写程序,输出从公元1900年到2100年所有闰年的年号package FRIST_text;public class Six {public static void main(String[] args) {// TODO Auto-generated method stubint cnt=0;for(int i=1900;i<=2100;i++){if((i%4==0&&i%100!=0)||i%400==0) {cnt++;System.out.print(i+"\t");}if(cnt==5) {cnt=0;System.out.println();}}}}五、遇到的问题和解决方法并没有遇到困难的问题,关于输入输出的问题,看来后面第七章的内容就可以完成。
六、心得体会这两个实验属于面向过程的程序,题目也比较简单,只要之前c/c++学的还行都可以写出来!只是让我们熟悉一下java的编程方式,和eclipse的运行环境。
System.out.println("数据输入有误请重新输入");}}}Arrays.sort(a);System.out.println("排序后的数组为:");for(int i=0;i<10;i++)System.out.print(a[i]+"\t");buf.close();}}(2)package TWO;public class Two {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("现随机生成3*3数组");int a[][]=new int[3][3];for(int i=0;i<3;i++)for(int j=0;j<3;j++)a[i][j]=(int)(Math.random()*10);int ans=0;System.out.println("数组元素如下所示");for(int i=0;i<3;i++){for(int j=0;j<3;j++) {System.out.print(a[i][j]+"\t");if(i==j) ans+=a[i][j];}System.out.println();}System.out.println("3*3矩阵左对角元素之和为:"+ans);}}(3)package TWO;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Three {public static void main(String[] args) throws IOException { // TODO Auto-generated method stubint count=0;char a[];System.out.println("输入一段字符串,统计其中有多少个单词");BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));String str=buf.readLine();a=str.toCharArray();int k=0;while(a[k]==' ') k++;if(k==0) {k++;count++;}for(;k<a.length;k++){if(a[k-1]==' '&&a[k]!=' '){System.out.println(a[k]);count++;//统计空格个数}}System.out.println("输入字符串为:"+str);System.out.println("输入字符串的单词个数为:"+count);buf.close();}}五、遇到的问题和解决方法关于字符串的处理,java中和C中的处理不一样,例如“a=str.toCharArray();”,这个函数可以直接改变string变为字符数组。
借此实验了解了很多String带的很多功能。
还有java自带的一些排序函数,对实际的应用很方便。
六、心得体会1.排序函数的实验:Arrays.sort(a);2.String类中比较两个字符是否相同要用equals()函数,还有string转toCharArray()等等在实际编程中有用的常识。
}(2)package THREE;import java.util.*;public class Account_3 {//银行账号public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("测试:不需要输入");Acount Liu=new Acount("刘小二",100);Liu.getBalance();Liu.deposit(100);Liu.withdraw(1000);Liu.withdraw(100);Liu.getBalance();System.out.println("初始建立账号:(请输入姓名钱数)");Scanner sc=new Scanner(System.in);String s=sc.next();double m=sc.nextDouble();Acount wuMing=new Acount(s,m);wuMing.getBalance();//sc.close();System.out.println("\n请输入你想要的操作:0(退出),1(存钱),2(取款),3(查询余额)");//Scanner scc=new Scanner(System.in);int n=sc.nextInt();else{System.out.println("很抱歉您的余额不足"+x+",请重新输入");}}public void getBalance(){System.out.println(name+" 您的余额为:"+money+"元。