实验1 创建、编译和运行Java程序
17268 计算两个整数的和
从键盘输入两个整数,计算并输出两个整数的和。 importjava.util.Scanner; public class Main {
public static void main(String[] args) { inta,b;
Scanner input = new Scanner(System.in); a=input.nextInt(); b=input.nextInt(); int c = a + b;
System.out.println(c); } }
17269 输出两个整数中的较大的值
从键盘输入两个整数,判断并输出两个整数中较大的值。 importjava.util.Scanner; public class Main {
public static void main(String[] args) { inta,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 \
public class Main {
public static void main(String[] args) {
System.out.print(\ }}
18136 计算圆的面积
由键盘输入圆的半径,计算并输出圆的面积,结果保留2位小数。注:类名必须为Main(大写M)
importjava.util.Scanner;
importjava.text.DecimalFormat; public class Main {
public static void main(String[] args) { doublea,b,c;
Scanner input = new Scanner(System.in); a = input.nextDouble(); b = 3.14159; c = a*a*b;
System.out.println(new DecimalFormat(\ } }
18138 输出三位整数的各位数字
从键盘输入一个3位的整数,要求按照:个位、十位和百位的顺序输出三个数字。输出时,每个数字占单独的一行。注:类名必须为Main(M大写)
importjava.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); intcr = input.nextInt(); int b, c, d;
b = cr / 100; c = cr /10 ; d = cr % 10;
System.out.println(\System.out.println(\System.out.println(\ } }
实验3 选择结构程序设计
18139 判断点是否在圆上
由键盘输入一个点的坐标, 要求编程判断这个点是否在单位圆上,点在圆上输出Y, 不在圆上输出N。使用小数点后3位精度进行判断。注:类名必须用Main(大写M) importjava.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(\}else {
System.out.println(\ } } }
18140 求数的位数
由键盘输入一个不多于9位的正整数,判断并输出它是几位数。注:类名必须是Main(大写M)
importjava.util.Scanner; public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in); inta,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大写)
importjava.util.Scanner; public class Main {
public static void main(String[] args) { inta,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 + \ } }
18142 数的整除
由键盘输入5个整数,逐个判断它们能否被27整除,能的输出“YES”,不能的输出“NO”(注意,输出时,一个判断结果占一行,5个数的判断共占5行)。 注:类名必须是Main(大写M)
importjava.util.Scanner; public class Main {
public static void main(String[] args) { inta,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(\}else {
System.out.println(\}if(b % 27 == 0){
System.out.println(\}else{
System.out.println(\}if(c % 27 == 0){
System.out.println(\}else{
System.out.println(\}if(d % 27 == 0){
System.out.println(\}else{
System.out.println(\}if(e % 27 == 0){
System.out.println(\}else{
System.out.println(\ } } }
18143 正负奇偶判断
由键盘输入非零整数x,判断该数正负,正数输出positive,负数输出negative,接着判断该数的奇偶性,奇数输出odd,偶数输出even。 注:类名必须是Main(大写M)
importjava.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(\}else {
System.out.println(\}if(x % 2 == 0){
System.out.println(\}else{
System.out.println(\ } } }
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(\ return; }
System.out.printf(\ } }
实验4 循环结构程序设计
18145 计算阶乘
输入正整数n,计算n!,结果用长整型数表示(注n!=1*2*3*...*n) 注:类名必须是Main(大写M)
importjava.util.Scanner; public class Main {
public static void main(String[] args) {
Scanner input= new Scanner(System.in); intnum = 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)
importjava.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
importjava.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; } 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; 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 int min = a[0];  for(int i = 0;i System.out.print(min);     }  }  18149 求素数  输出2到200之间(包括2、200)的所有素数。 注:要求1行1个素数,按由小到大的顺序输出。 提示:采用双重循环,外层循环产生2到200之间的数,内层循环对数进行判断是否为素数。 注:类名必须是Main(大写M)  importjava.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++){  intsquareRoot = (int) Math.sqrt(i); int k;  for (k = 2;k <= squareRoot;k++){ if (i % k == 0){ break;               }          }  if (k >squareRoot){ n++;  System.out.printf(\ System.out.println();   } }  }}  18150 打印菱形  由键盘输入正数n,要求输出2*n+1行的菱形图案。要求菱形顶部无空行,菱形左边紧靠屏幕左侧。  注:类名必须是Main(大写M)  importjava.util.Scanner; public class Main {  public static void main(String[] args) {          Scanner input = new Scanner(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; 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 for(int i = n-1;i>=0;i--){ System.out.print(a[i]+\       }     } }  18153 冒泡排序  编写一个程序,首先从键盘输入一个正整数n表示个数,然后输入n个整数,存放到数组中。 使用冒泡排序算法对该数组进行从大到小的排序,并输出排序之后的结果。输出时,两个整数之间用一个空格隔开。  注:类名必须是Main(大写M)  importjava.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 for(int i = 0;i System.out.print(v + \ ;        }  }}  18154 字符串中数字字符个数统计  编写程序,从键盘输入一行字符串,统计其中数字字符出现的次数。 说明:数字字符是指0-9这10个字符。输入的字符串可能包含空格。 注:类名必须是Main(大写M) importjava.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 System.out.print(sum);     } }  18155 输出矩阵  编写程序,首先从键盘输入两个正整数m和n。m表示二维整型数组的行数,n代表二维整型数组的列数。  然后输入整个二维数组,并输出它的转置数组。注:类名必须是Main(大写M) importjava.util.Scanner; public class Main {  public static void main(String[] args) {          Scanner input = new Scanner(System.in); intm,n;          m = input.nextInt();         n = input.nextInt(); int[][]list;  list = new int[m][n];  for(int i = 0;i for(int k = 0;k for(int k = 0;k for(int i = 0;i System.out.println();         }     }}  18156 二维数组的最大值  编写程序,首先从键盘输入两个正整数m和n。m表示二维整型数组的行数,n代表二维整型数组的列数。  然后输入整个二维数组,然后找出数组中的最大值,输出该值及其行下标和列下标。 提示:如果最大值有多个,则输出第1个。  importjava.util.Scanner; public class Main {  public static void main(String[] args) {          Scanner input = new Scanner(System.in); intm,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                     x = i;                      y = j; }     }  }  System.out.println(\ +\    }}  18157 投票程序  现在有三个候选人竞选班长,他们的姓名分别是“Alan”、“Mike”和“Tom”。  编写一个程序。首先输入一个整数n代表总票数,然后输出n个姓名,每行输入一个姓名。 程序根据输入的姓名为候选人统计得票数,如果有非候选人姓名的选票,则计为废票。 输出投票结果,每行一个候选人。  importjava.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 = \        String name2 = \        String name3 = \String[] list = new String[n]; for(int i = 0;i for(int i = 0;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(\System.out.println(\System.out.println(\System.out.println(\    } }  18158 不相同的整数问题  编写程序,输入若干个整数,统计其中互不相同的整数的个数。要求如下: 首先输入一个整数n代表要输入的整数个数;然后输入n个整数,统计并输出这n个整数中互不相同的整数的个数。  注:类名必须是Main(大写M)  importjava.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 for(int i = 0;i for(j = 0;j                }            } if(j == i){  sum = sum + 1;            }        }  System.out.print(sum);     } }    实验6 方法  18159 求两个正整数的最大公约数  下面程序实现由键盘输入两个正整数x,y,计算并输出两个整数的最大公约数。 请在空白处补充填写计算最大公约数的方法。  import java.util.Scanner;  public class Main {   public static intgcd(inta,int b){ intgcd;  for(gcd = a;gcd>=1;gcd--){  if (a % gcd== 0 && b % gcd == 0) break;         } returngcd;     }  public static void main(String[] args) {           Scanner input = new Scanner(System.in);          int x = input.nextInt();          int y = input.nextInt();           System.out.println(gcd(x, y));      } }   18160 使用方法重载求最大值  下面程序实现计算2个整数和3个整数中大值。  请使用方法重载编写max方法,填写在程序空白处,使程序能够正确运行。 import java.util.Scanner;  public class Main {   public static int max(int a, int b){ return a>b ? a : b;             }  public static int max(int a, int b, int c){ return max(max(a,b),c);             }  public static void main(String[] args) {         Scanner input = new Scanner(System.in);          int x = input.nextInt();          int y = input.nextInt();          int z = input.nextInt();           System.out.println(max(x, y));          System.out.println(max(x, y, z));      } }   18161 判断闰年的方法  下面程序实现了判断并输出1990年到2010年之间所有闰年。其中判断一个年份是否是闰年的功能是通过一个方法实现的。  请在程序中的空白处填写恰当的代码,使程序能够正确地运行。 public class Main {   public static booleanisLeapYear(int y)  { return (y % 4 == 0 && y % 100 != 0) || (y % 400 == 0); }  public static void main(String[] args) {           for(int year=1990; year<=2010; year++){              if(isLeapYear(year)){                   System.out.println(year+\            }   }  } }   18162 递归实现十进制数转换为二进制数  下面程序实现了从键盘输入一个正整数(不会大于100000000),然后输出其对应的二进制数的原码形式。  请填写程序中的空白之处,使程序能够正确地运行。 import java.util.Scanner;  public class Main {       public static String d2b(int n) {          String result = \          if (n > 1) {               result = result + d2b( n / 2);          }           return result + (n % 2);      }       public static void main(String[] args) {           Scanner input = new Scanner(System.in);          int num = input.nextInt();           System.out.println(d2b(num));    }  }  ='0'&&ch<='9') sum = sum+1;               }           }