资源描述
实验1 创建、编译与运行Java程序
17268 计算两个整数得与
从键盘输入两个整数,计算并输出两个整数得与。
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
int a,b;
Scanner input = new Scanner(System、in);
a=input、nextInt();
b=input、nextInt();
int c = a + b;
System、out、println(c);
}
}
17269 输出两个整数中得较大得值
从键盘输入两个整数,判断并输出两个整数中较大得值。
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
int a,b;
Scanner input = new Scanner(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、TXT is "file"
public class Main {
public static void main(String[] args) {
System、out、print("C:\\ABC、TXT is \"file\"");
} }
18136 计算圆得面积
由键盘输入圆得半径,计算并输出圆得面积,结果保留2位小数。注:类名必须为Main(大写M)
import java、util、Scanner;
import java、text、DecimalFormat;
public class Main {
public static void main(String[] args) {
double a,b,c;
Scanner input = new Scanner(System、in);
a = input、nextDouble();
b = 3、14159;
c = a*a*b;
System、out、println(new DecimalFormat("#、##")、format(c));
}
}
18138 输出三位整数得各位数字
从键盘输入一个3位得整数,要求按照:个位、十位与百位得顺序输出三个数字。输出时,每个数字占单独得一行。注:类名必须为Main(M大写)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System、in);
int cr = input、nextInt();
int b, 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)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System、in);
double x = input、nextDouble();
double y = input、nextDouble();
double distance = 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)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System、in);
int a,place;
a = input、nextInt();
if(a>99999999){
place=9;
}else if(a>9999999){
place=8;
}else if(a>999999){
place=7;
}else if(a>99999){
place=6;
}else if(a>9999){
place=5;
}else if(a>999){
place=4;
}else if(a>99){
place=3;
}else if(a>9){
place=2;
}else{
place=1;
}
System、out、println(place);
}
}
18141 数得排序
由键盘输入三个整数a、b、c,按从小到大得顺序输出这三个数。注:类名必须就是Main(M大写)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
int a,b,c,temp;
Scanner input = new Scanner(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)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
int a,b,c,d,e;
Scanner input = new Scanner(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)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
int x;
Scanner input = new Scanner(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)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input= new Scanner(System、in);
int num = 1;
int x;
x = input、nextInt();
for(int i = x;i > 0;i--){
num = num * i;
}
System、out、println(num);
}
}
18146 计算数列与
有数列1,3,5,7,9,11,…… ,现要求由键盘输入n,计算输出该数列得前n项与。
注:类名必须就是Main(大写M)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input= new Scanner(System、in);
int sum = 0;
int n;
n = input、nextInt();
for(int i = 1;i <= n;i++){
sum = sum + i * 2 - 1;
}
System、out、println(sum);
}
}
18147 求最大公约数
由键盘输入两个正整数m、n(m、n用长整数表示),计算它们得最大公约数。
注:类名必须就是Main(大写M
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input= new Scanner(System、in);
int m = input、nextInt();
int n = input、nextInt();
int max , min;
if(m > n){
max = m;
min = n;
}else{
min = m;
max = n;
}
int gcd;
for(gcd= min;gcd >= 1;gcd--){
if(max % gcd == 0 && min % gcd == 0){
break;
}
}
System、out、println(gcd);
}
}
18148 输出最小值
从键盘输入十个整数,输出最小值。
注:类名必须就是Main(大写M)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System、in);
int[] a = new int[10];
for(int i = 0;i<a、length;i++){
a[i]= input、nextInt();
}
int min = a[0];
for(int i = 0;i<a、length;i++){
if(a[i]<min)
min=a[i];
}
System、out、print(min);
}
}
18149 求素数
输出2到200之间(包括2、200)得所有素数。
注:要求1行1个素数,按由小到大得顺序输出。
提示:采用双重循环,外层循环产生2到200之间得数,内层循环对数进行判断就是否为素数。
注:类名必须就是Main(大写M)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input= new Scanner(System、in);
int n = 0;
for (int i = 2;i < 200;i++){
int squareRoot = (int) Math、sqrt(i);
int k;
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)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System、in);
int i,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)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System、in);
int n = input、nextInt();
int []a;
a = new int[n];
for(int i = 0;i<a、length;i++){
a[i]=input、nextInt();
}
for(int i = n-1;i>=0;i--){
System、out、print(a[i]+" ");
}
}
}
18153 冒泡排序
编写一个程序,首先从键盘输入一个正整数n表示个数,然后输入n个整数,存放到数组中。
使用冒泡排序算法对该数组进行从大到小得排序,并输出排序之后得结果。输出时,两个整数之间用一个空格隔开。
注:类名必须就是Main(大写M)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System、in);
int length = input、nextInt();
int[]array = new int[length];
for(int i = 0;i<array、length;i++){
array[i]= input、nextInt();
}
for(int i = 0;i<array、length-1;i++){
for(int j = 0;j<array、length-1;j++){
if (array[j]<array[j + 1]){
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
} } }
for (int v :array){
System、out、print(v + " ") ;
} } }
18154 字符串中数字字符个数统计
编写程序,从键盘输入一行字符串,统计其中数字字符出现得次数。
说明:数字字符就是指0-9这10个字符。输入得字符串可能包含空格。
注:类名必须就是Main(大写M)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System、in);
String[] list = new String[3];
int sum = 0;
for(int i = 0;i<3;i++){
list[i]=input、next();
}
for(int i = 0;i<3;i++){
for(int k = 0;k<list[i]、length();k++){
char ch = list[i]、charAt(k);
if(ch>='0'&&ch<='9')
sum = sum+1;
}
}
System、out、print(sum);
}
}
18155 输出矩阵
编写程序,首先从键盘输入两个正整数m与n。m表示二维整型数组得行数,n代表二维整型数组得列数。
然后输入整个二维数组,并输出它得转置数组。注:类名必须就是Main(大写M)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System、in);
int m,n;
m = input、nextInt();
n = input、nextInt();
int[][]list;
list = new int[m][n];
for(int i = 0;i<list、length;i++){
for(int k = 0;k<list[i]、length;k++){
list[i][k] = input、nextInt();
}
}
for(int k = 0;k<n;k++){
for(int i = 0;i<list、length;i++){
System、out、print(list[i][k]+" ");
}
System、out、println();
}
} }
18156 二维数组得最大值
编写程序,首先从键盘输入两个正整数m与n。m表示二维整型数组得行数,n代表二维整型数组得列数。
然后输入整个二维数组,然后找出数组中得最大值,输出该值及其行下标与列下标。
提示:如果最大值有多个,则输出第1个。
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System、in);
int m,n;
m = input、nextInt();
n = input、nextInt();
int[][]array = new int[m][n];
int max = array[0][0];
int x = 0,y=0;
for (int i = 0;i<array、length;i++) {
for (int j = 0; j < array、length; j++) {
array[i][j] = input、nextInt();
if (array[i][j] > max) {
max = array[i][j];
x = i;
y = j; } } }
System、out、println("array" + "[" + x + "]" + "[" + y +"]" + "=" +max);
} }
18157 投票程序
现在有三个候选人竞选班长,她们得姓名分别就是“Alan”、“Mike”与“Tom”。
编写一个程序。首先输入一个整数n代表总票数,然后输出n个姓名,每行输入一个姓名。
程序根据输入得姓名为候选人统计得票数,如果有非候选人姓名得选票,则计为废票。
输出投票结果,每行一个候选人。
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System、in);
int n = input、nextInt();
int a = 0,b = 0,c = 0,d = 0;
String name1 = "Alan";
String name2 = "Mike";
String name3 = "Tom";
String[] list = new String[n];
for(int i = 0;i<list、length;i++)
list[i]=input、next();
for(int i = 0;i<list、length;i++){
if(list[i]、equals(name1))
a = a+1;
else if(list[i]、equals(name2))
b = b+1;
else if(list[i]、equals(name3))
c = c+1;
else
d = d+1;
}
System、out、println("Alan:"+a);
System、out、println("Mike:"+b);
System、out、println("Tom:"+c);
System、out、println("invalid:"+d);
}
}
18158 不相同得整数问题
编写程序,输入若干个整数,统计其中互不相同得整数得个数。要求如下:
首先输入一个整数n代表要输入得整数个数;然后输入n个整数,统计并输出这n个整数中互不相同得整数得个数。
注:类名必须就是Main(大写M)
import java、util、Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System、in);
int n = input、nextInt();
int sum = 0;
int[] list = new int[n];
for(int i = 0;i<list、length;i++)
list[i]=input、nextInt();
for(int i = 0;i<list、length;i++){
int j;
for(j = 0;j<i;j++){
if (list[i] == list[j]){
break;
}
}
if(j == i){
sum = sum + 1;
}
}
System、out、print(sum);
}
}
实验6 方法
18159 求两个正整数得最大公约数
下面程序实现由键盘输入两个正整数x,y,计算并输出两个整数得最大公约数。
请在空白处补充填写计算最大公约数
展开阅读全文