【Java程序设计】实验2
使用Java语言编写程序,实现题目要求的功能。
1、 编写程序,从键盘输入两个整数,分别计算两数的和、差、积、商和余数。
import java.util.Scanner;
public class FirstDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int m = sc.nextInt();
int n = sc.nextInt();
System.out.println(m+"+"+n+"="+(m+n));
System.out.println(m+"-"+n+"="+(m-n));
System.out.println(m+"*"+n+"="+(m*n));
System.out.println(m+"/"+n+"="+(m/n));
System.out.println(m+"%"+n+"="+(m%n));
sc.close();
}
}
2、编写程序,从键盘输入圆柱体底面半径和高,计算并输出圆柱体的体积。(半径和高均为double类型数据)
import java.util.Scanner;
public class SecondDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double r = sc.nextDouble();
double h = sc.nextDouble();
double PI = 3.14;
System.out.println("圆柱体的体积为:"+(PI*r*r*h));
sc.close();
}
}
3、编写程序,从键盘输入一个年份,程序输出该年是否是闰年。符合下面两个条件之一的年份即为闰年:
(1)能被4整除,但不能被100整除;(2)能被400整除。
import java.util.Scanner;
public class ThirdDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int y = sc.nextInt();
if((y%4==0&&y%100!=0)||y%400==0)
System.out.println(y+"年是闰年");
else
System.out.println(y+"年不是闰年");
sc.close();
}
}
4、假设国民生产总值年增长率为8%,编写程序计算多少年后国民生产总值可以翻一番。
import java.util.Scanner;
public class FourthDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int year;
double sum,temp;
sum = sc.nextDouble();
temp = 2 * sum;
for(year=1;;year++)
{
sum = 1.08 * sum;
if(sum >= temp)
{
System.out.println(year);
break;
}
}
sc.close();
}
}
5、编写程序,接受用户从键盘输入10个整数,比较并输出其中的最大值和最小值。
import java.util.Scanner;
public class Homework {
public static void main(String[] args) {
int[] array = new int[10];
Scanner sc = new Scanner(System.in);
System.out.println("请输入10个整数:");
for(int i = 0;i < array.length;i++)
{
array[i] = sc.nextInt();
}
sc.close();
int max = array[0];
int min = array[0];
int zdz = 0;
int zxz = 0;
for(int i = 1;i < array.length;i++)
{
if(array[i] > max) {
max = array[i];
zdz = i + 1;
}
if(array[i] < min) {
min = array[i];
zxz = i + 1;
}
}
System.out.println("数组中最大值为:"+max+"。位于第"+zdz+"个数");
System.out.println("数组中最小值为:"+min+"。位于第"+zxz+"个数");
}
}
6、编写程序,从键盘输入两个整数,计算这两个数的最小公倍数和最大公约数。
import java.util.Scanner;
public class Homework {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a,b,c,rem,c1,a1,mul;
a = input.nextInt();
c = input.nextInt();
c1 = c;
a1 = a;
if(a > c) {
b = a;
a = c;
c = b;
}
do {
rem = c % a;
c = a;
a = rem;
}
while(rem != 0);
System.out.println("两个数的最大公约数是:"+c);
mul = c1 * a1 / c;
System.out.println("两个数的最小公倍数是:"+mul);
input.close();
}
}
7、使用Java语言编程,从键盘输入N个整数存储到数组中,求数组所有元素的和、最大值、最小值和平均值(注:数据个数N需要从键盘输入,平均值采用数学含义的平均值)
import java.util.Scanner;
public class Homework {
public static void main(String[] args) {
int n,sum,max,min;
double avg;
Scanner sc = new Scanner(System.in);
System.out.println("请输入N值");
n = sc.nextInt();
int[] x = new int[n];
System.out.println("请输入"+n+"个整数");
for(int i = 0;i < n;i++) {
x[i] = sc.nextInt();
}
sum = max = min = x[0];
for(int i = 1;i < n;i++) {
if(x[i] > max) {
max = x[i];
}
if(x[i] < min) {
min = x[i];
}
sum += x[i];
}
avg = (double)sum / n;
System.out.println(n+"个数的和为:"+sum);
System.out.println(n+"个数的最大值为:"+max);
System.out.println(n+"个数的最小值为:"+min);
System.out.println(n+"个数的平均值为:"+avg);
sc.close();
}
}
8、使用Java语言编程,产生10000个1~9之间的随机数,统计每个数出现的概率。
import java.util.Random;
public class Homework {
public static void main(String[] args) {
Random r = new Random();
int[] x = new int[10];
for(int i = 0;i < 10000;i++) {
int a = r.nextInt(9) + 1;
x[a-1] = x[a-1] + 1;
}
for(int i = 0;i < 9;i++) {
System.out.println((i+1)+"出现的次数为"+x[i]);
}
}
}
9、使用Java语言编程,从键盘输入10个整数,并存放到一个数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第10个元素互换,第2个元素与第9个元素互换,…,第5个元素与第6个元素互换。分别输出数组原来各元素的值和互换后各元素的值。
import java.util.Scanner;
public class Homework {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] x = new int[10];
int[] n = new int[10];
for(int i = 0;i < 10;i++) {
x[i] = sc.nextInt();
n[i] = x[i];
}
for(int i = 0;i < 5;i++) {
int j = 9 - i;
int p;
p = x[i];
x[i] = x[j];
x[j] = p;
}
for(int i = 0;i < 10;i++) {
System.out.print(n[i]+" ");
}
System.out.println(" ");
for(int i = 0;i < 10;i++) {
System.out.print(x[i]+" ");
}
sc.close();
}
}