华南农业大学农科Java上机实验.docx
《华南农业大学农科Java上机实验.docx》由会员分享,可在线阅读,更多相关《华南农业大学农科Java上机实验.docx(20页珍藏版)》请在冰豆网上搜索。
![华南农业大学农科Java上机实验.docx](https://file1.bdocx.com/fileroot1/2023-1/3/de7c831a-9a55-4c45-8e56-a03c67cf6cc1/de7c831a-9a55-4c45-8e56-a03c67cf6cc11.gif)
华南农业大学农科Java上机实验
华南农业大学2015农科Java上机实验
实验1创建、编译和运行Java程序
17268 计算两个整数的和
从键盘输入两个整数,计算并输出两个整数的和。
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
inta,b;
Scannerinput=newScanner(System.in);
a=input.nextInt();
b=input.nextInt();
intc=a+b;
System.out.println(c);
}
}
17269 输出两个整数中的较大的值
从键盘输入两个整数,判断并输出两个整数中较大的值。
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
inta,b;
Scannerinput=newScanner(System.in);
a=input.nextInt();
b=input.nextInt();
if(a>b)
System.out.println(a);
else
System.out.println(b);
}
}
实验2基本数据类型、运算和表达式
18135 在显示屏上显示指定字符
要求编写一个程序,在显示屏上显示如下内容。
注:
类名必须为Main(大写M)
C:
\ABC.TXTis"file"
publicclassMain{
publicstaticvoidmain(String[]args){
System.out.print("C:
\\ABC.TXTis\"file\"");
}}
18136 计算圆的面积
由键盘输入圆的半径,计算并输出圆的面积,结果保留2位小数。
注:
类名必须为Main(大写M)
importjava.util.Scanner;
importjava.text.DecimalFormat;
publicclassMain{
publicstaticvoidmain(String[]args){
doublea,b,c;
Scannerinput=newScanner(System.in);
a=input.nextDouble();
b=3.14159;
c=a*a*b;
System.out.println(newDecimalFormat("#.##").format(c));
}
}
18138 输出三位整数的各位数字
从键盘输入一个3位的整数,要求按照:
个位、十位和百位的顺序输出三个数字。
输出时,每个数字占单独的一行。
注:
类名必须为Main(M大写)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
intcr=input.nextInt();
intb,c,d;
b=cr/100;
c=cr/10%10;
d=cr%10;
System.out.println(""+d);
System.out.println(""+c);
System.out.println(""+b);
}
}
实验3选择结构程序设计
18139 判断点是否在圆上
由键盘输入一个点的坐标,要求编程判断这个点是否在单位圆上,点在圆上输出Y,不在圆上输出N。
使用小数点后3位精度进行判断。
注:
类名必须用Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
doublex=input.nextDouble();
doubley=input.nextDouble();
doubledistance=Math.sqrt(x*x+y*y);
if(Math.abs(distance-1.0)<0.001){
System.out.println("Y");
}else{
System.out.println("N");
}}}
18140 求数的位数
由键盘输入一个不多于9位的正整数,判断并输出它是几位数。
注:
类名必须是Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
inta,place;
a=input.nextInt();
if(a>99999999){
place=9;
}elseif(a>9999999){
place=8;
}elseif(a>999999){
place=7;
}elseif(a>99999){
place=6;
}elseif(a>9999){
place=5;
}elseif(a>999){
place=4;
}elseif(a>99){
place=3;
}elseif(a>9){
place=2;
}else{
place=1;
}
System.out.println(place);
}
}
18141 数的排序
由键盘输入三个整数a、b、c,按从小到大的顺序输出这三个数。
注:
类名必须是Main(M大写)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
inta,b,c,temp;
Scannerinput=newScanner(System.in);
a=input.nextInt();
b=input.nextInt();
c=input.nextInt();
if(a>b){
temp=a;
a=b;
b=temp;
}if(a>c){
temp=a;
a=c;
c=temp;
}if(b>c){
temp=b;
b=c;
c=temp;
}
System.out.println(a+","+b+","+c);
}
}
18142 数的整除
由键盘输入5个整数,逐个判断它们能否被27整除,能的输出“YES”,不能的输出“NO”(注意,输出时,一个判断结果占一行,5个数的判断共占5行)。
注:
类名必须是Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
inta,b,c,d,e;
Scannerinput=newScanner(System.in);
a=input.nextInt();
b=input.nextInt();
c=input.nextInt();
d=input.nextInt();
e=input.nextInt();
if(a%27==0){
System.out.println("YES");
}else{
System.out.println("NO");
}if(b%27==0){
System.out.println("YES");
}else{
System.out.println("NO");
}if(c%27==0){
System.out.println("YES");
}else{
System.out.println("NO");
}if(d%27==0){
System.out.println("YES");
}else{
System.out.println("NO");
}if(e%27==0){
System.out.println("YES");
}else{
System.out.println("NO");
}
}
}
18143 正负奇偶判断
由键盘输入非零整数x,判断该数正负,正数输出positive,负数输出negative,接着判断该数的奇偶性,奇数输出odd,偶数输出even。
注:
类名必须是Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
intx;
Scannerinput=newScanner(System.in);
x=input.nextInt();
if(x>0){
System.out.println("positive");
}else{
System.out.println("negative");
}if(x%2==0){
System.out.println("even");
}else{
System.out.println("odd");
}
}
}
18144 简单四则运算器
下面程序是实现一个简单的四则运算器(输出结果保留2位小数)。
输入时依次输入:
第1个实数、运算符、第2个实数,程序根据运算符进行运算并输出结果。
在程序中的空白处填写恰当的代码,运行通过后在评判系统中提交。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
float a, b, result;
char operator;
Scanner input = new Scanner(System.in);
a = input.nextFloat();
operator = input.next().charAt(0);
b = input.nextFloat();
switch (operator) {
case '+':
result=a+b;break;
case '-':
result=a-b;break;
case '*':
result=a*b;break;
case '/':
result=a/b;break;
default:
System.out.println("error");
return;
}
System.out.printf("%.2f\n", result);
}
}
实验4循环结构程序设计
18145 计算阶乘
输入正整数n,计算n!
,结果用长整型数表示(注n!
=1*2*3*...*n)
注:
类名必须是Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
intnum=1;
intx;
x=input.nextInt();
for(inti=x;i>0;i--){
num=num*i;
}
System.out.println(num);
}
}
18146 计算数列和
有数列1,3,5,7,9,11,……,现要求由键盘输入n,计算输出该数列的前n项和。
注:
类名必须是Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
intsum=0;
intn;
n=input.nextInt();
for(inti=1;i<=n;i++){
sum=sum+i*2-1;
}
System.out.println(sum);
}
}
18147 求最大公约数
由键盘输入两个正整数m、n(m、n用长整数表示),计算它们的最大公约数。
注:
类名必须是Main(大写M
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
intm=input.nextInt();
intn=input.nextInt();
intmax,min;
if(m>n){
max=m;
min=n;
}else{
min=m;
max=n;
}
intgcd;
for(gcd=min;gcd>=1;gcd--){
if(max%gcd==0&&min%gcd==0){
break;
}
}
System.out.println(gcd);
}
}
18148 输出最小值
从键盘输入十个整数,输出最小值。
注:
类名必须是Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
int[]a=newint[10];
for(inti=0;ia[i]=input.nextInt();
}
intmin=a[0];
for(inti=0;iif(a[i]min=a[i];
}
System.out.print(min);
}
}
18149 求素数
输出2到200之间(包括2、200)的所有素数。
注:
要求1行1个素数,按由小到大的顺序输出。
提示:
采用双重循环,外层循环产生2到200之间的数,内层循环对数进行判断是否为素数。
注:
类名必须是Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
intn=0;
for(inti=2;i<200;i++){
intsquareRoot=(int)Math.sqrt(i);
intk;
for(k=2;k<=squareRoot;k++){
if(i%k==0){
break;
}
}
if(k>squareRoot){
n++;
System.out.printf("%d",i);
System.out.println();}}}}
18150 打印菱形
由键盘输入正数n,要求输出2*n+1行的菱形图案。
要求菱形顶部无空行,菱形左边紧靠屏幕左侧。
注:
类名必须是Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
inti,j,m,k,n;
n=input.nextInt();
for(i=1;i<=n+1;i++){
for(j=1;j<=n-i+1;j++){
System.out.print("");
}
for(j=1;j<=2*i-1;j++){
System.out.print("*");
}
System.out.println();
}
for(m=1;m<=n;m++){
for(k=1;k<=m;k++){
System.out.print("");
}
for(k=1;k<=2*(n-m)+1;k++){
System.out.print("*");
}
System.out.println();
}
}
}
实验5数组与字符串
18152 数组的逆序输出
写一个程序,首先从键盘输入一个正整数n表示个数,然后输入n个整数,存放到数组中,最后把这些整数逆序输出。
输出时,两个整数之间用一个空格隔开。
注:
类名必须是Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
intn=input.nextInt();
int[]a;
a=newint[n];
for(inti=0;ia[i]=input.nextInt();
}
for(inti=n-1;i>=0;i--){
System.out.print(a[i]+"");
}
}
}
18153 冒泡排序
编写一个程序,首先从键盘输入一个正整数n表示个数,然后输入n个整数,存放到数组中。
使用冒泡排序算法对该数组进行从大到小的排序,并输出排序之后的结果。
输出时,两个整数之间用一个空格隔开。
注:
类名必须是Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
intlength=input.nextInt();
int[]array=newint[length];
for(inti=0;iarray[i]=input.nextInt();
}
for(inti=0;ifor(intj=0;jif(array[j]inttemp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}}}
for(intv:
array){
System.out.print(v+"");
}}}
18154 字符串中数字字符个数统计
编写程序,从键盘输入一行字符串,统计其中数字字符出现的次数。
说明:
数字字符是指0-9这10个字符。
输入的字符串可能包含空格。
注:
类名必须是Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
String[]list=newString[3];
intsum=0;
for(inti=0;i<3;i++){
list[i]=input.next();
}
for(inti=0;i<3;i++){
for(intk=0;kcharch=list[i].charAt(k);
if(ch>='0'&&ch<='9')
sum=sum+1;
}
}
System.out.print(sum);
}
}
18155 输出矩阵
编写程序,首先从键盘输入两个正整数m和n。
m表示二维整型数组的行数,n代表二维整型数组的列数。
然后输入整个二维数组,并输出它的转置数组。
注:
类名必须是Main(大写M)
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
intm,n;
m=input.nextInt();
n=input.nextInt();
int[][]list;
list=newint[m][n];
for(inti=0;ifor(intk=0;klist[i][k]=input.nextInt();
}
}
for(intk=0;kfor(inti=0;iSystem.out.print(list[i][k]+"");
}
System.ou