西安电子科技大学
Java课程上机练习题
(2016年度)
上
机
报
告
班 级:
姓 名:
学 号:
Java语言基础
1、实验目标:
掌握Java语法;掌握Java程序结构;掌握Java编译、调试、运行的方法。2、实验要求:
编写一个程序,程序提供两种功能:
(1)用户输入一个整数,程序计算并输出从1开始到该整数的所有整数之和;同时,计算并输出不大于该整数的所有素数的数目。
(2)用户输入一个数字串,程序判断该数字串各位上数字的奇偶性,并分别输出奇、偶数位的计数值及各位的加和值。
3、题目分析:
判断整数是素数要构建一个测试类,然后统计是素数的个数;数字串需要判断每位的数字的奇偶性,则要将数字串转化为数组的形式,然后进行奇偶判断,进行统计。
4、题目设计实现:
分别设计判断素数、整数求和、格式转变、判断奇偶性、各位求和的函数。5、实现过程:
//判断一个数是否是素数
public static boolean isPrime(int a){
boolean flag = true;
if(a<2)
return false;
else
for(int i = 2;i<=Math.sqrt(a);i++){
if(a%i == 0)
flag = false;
}
return flag;
}
//在main函数计算求和及判断
public static void main(String []args){
int sum=0,j=0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数计算他的和");
int num = sc.nextInt();
for(int i=1;i<=num;i++){
sum = sum + i;
if(isPrime(i))
j++;
}
System.out.println("这个数的和为"+sum+"\n素数有"+j+"个");
//输入一个字符串并转化为数字存放到数组中
public static void main(String[] args){
System.out.println("请输入一串数字串");
Scanner scan = new Scanner(System.in);
String line = scan.next();
int odd=0,even=0,sumo=0,sume=0;
char[] c = line.toCharArray();
//求和
for(int i = 0; i
if((int)c[i]%2 == 0){
even++;
sume = sume +(int)c[i]-48;
}
else{
sumo = sumo +(int)c[i]-48;
odd++;
}
}
System.out.println("奇数共有"+odd+"个\n"+"奇数和为"+sumo);
System.out.println("偶数共有"+even+"个\n"+"偶数和为"+sume);
}
6、实验结果:
7、个人总结:
通过这次基础练习,对Java的各种规范和函数调用有了一定的熟悉,因为之前的编过类似的,所以用Java上手没有很陌生,算是一个很好的入门基础。
8、源代码:
1. 整数
import java.util.Scanner;
public class test {
public static void main(String []args){
int sum=0,j=0;
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数计算他的和");
int num = sc.nextInt();
//System.out.println("hello world!");
for(int i=1;i<=num;i++){
sum = sum + i;
if(isPrime(i))
j++;
}
System.out.println("这个数的和为"+sum+"\n素数有"+j+"个");
sc.close();
}
public static boolean isPrime(int a){
boole