A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 一个老李 初级黑马   /  2018-6-15 00:54  /  1386 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

总结了几个比较经典的练习题,考试前大家都再练练,查漏补缺。
1、输出两个int数中的最大值
2、输出三个int数中的最大值
3、编写程序判断某一个年份是否是闰年
4、完成成绩等级输出程序:如果用户输入的分数正确(0-100),则根据表-1中的规则计算该分数所对应的的级别,并计算结果。成绩等级划分表
* >= 90 A
* > =80 B
* > =60 C
*    <60 D
5、java从键盘输入三个整数,实现从小到大排序
6、输出九九乘法表
7、查找数组最小值,并将数组扩容成新数组


答案
1、import java.util.Scanner;
  
public class demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请依次输入两个整数:a,b(以空格隔开)");
/*比较两个数的大小*/
int a = scanner.nextInt();
int b = scanner.nextInt();
int max;
if(a >= b){
max = a;
}else {
max = b;
}
System.out.println("最大值为"+max);
}
}
}
2、package demo;
  
import java.util.Scanner;
  
public class demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请依次输入两个整数:a,b(以空格隔开)");
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
scanner.close();
/*方法一*/
int d=(a>b)?a:b;
int e=(d>c)?d:c;
System.out.println("最大值为"+e);
  
/*方法二*/
if(a>b && a>c){
System.out.println("最大值为"+a);
}else if(b>c && b>a){
System.out.println("最大值为"+b);
}else if(c>b && c>a){
System.out.println("最大值为"+c);
}else{
System.out.println("出现异常");
}
}
}
3、package demo;
  
import java.util.Scanner;
/*判断闰年
由用户输入任意一个年份,能被4整除但不能被100整除,或者能被400整除,是闰年。
要求判断一个年份是否为闰年。
要求输出:此年份是否是闰年
*/
public class demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();

if((year % 4 ==0 && year % 100 !=0) || year%400 ==0){
System.out.println("这个年份是闰年");
}else{
System.out.println("这个年份不是闰年");
}
4、  
import java.util.Scanner;
  
/*
* 成绩等级划分表
* >= 90 A
* >=80 B
* >=60 C
* <60 D
*
* 分数范围:0-100
*
* 需要有2个判断*/
public class demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入分数:");
double score = scanner.nextDouble();
scanner.close();
  
if(score < 0 || score >100){
System.out.println("输入的分数不在0-100之间,不符合要求");
}else if(score >= 90){
System.out.println("A");
}else if(score >= 80){
System.out.println("B");
}else if(score >= 60){
System.out.println("C");
}else{
System.out.println("D");
}
}
}
5、ackage demo;
  
import java.util.Scanner;
  
/*
* java从键盘输入三个整数,实现从小到大排序
*
**/
public class demo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入三个整数,以空格隔开:");
  
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
  
scanner.close();
System.out.println("输入的值为:a = " + a + ", b = " + b + ", c = " + c);
if(a > b){
if ( b > c) {
System.out.println("排序后的值为:" + c + "," + b + "," + a);
}else if( c > a){
System.out.println("排序后的值为:" + b + "," + a + "," + c);
}else{
System.out.println("排序后的值为:" + b + "," + a + "," + c);
}
}else{
if(c < a){
System.out.println("排序后的值为:" + c + "," + a + "," + b);
}else if(c > b){
System.out.println("排序后的值为:" + a + "," + b + "," + c);
}else{
System.out.println("排序后的值为:"+ a + "," + c + "," + b);
}
}
}
}
6、package demo;
  
/* author:wendy
* 问题:
* 直接输出九九乘法表
* */
public class demo {
  
public static void main(String[] args) {
//i变量用于控制行数
for(int i = 0; i <= 9; i++) {
//j变量用于控制每行中参与计算的数值
for(int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + i*j + "\t");
}
//每行输出之后需要换行
System.out.println();
}
}
}
7、package demo;
  
import java.util.Arrays;
import java.util.Random;
/*
* author:wendy
* 问题:随机产生10个从0-100之间的整数,并查找最小值;
* 将该数组扩容成新数组,把最小值存在新数组的第一个位置。
* 步骤:
* 1.构造一个长度为10的数组,利用Random随机产生10个0-100之间的整数;
* 2.寻找最小值,利用for循环
* 3.扩容 利用Arrays.coprOf()构造新数组,将其长度设置为11
* 4.遍历新数组,从后往前遍历,以此赋值,然后将2中找到的最小值存在数组的第一个
* */
public class copyOf {
  
public static void main(String[] args) {
int [] arr = new int[10];
  
//随机产生10个 0-100之间的整数
Random random = new Random();
for(int i = 0; i < 10; i ++) {
arr[i] = random.nextInt(100);
}
//打印数组的内容
System.out.println("随机产生的数组为:" + Arrays.toString(arr));
  
//查找最小的值
int min = arr[0];
for(int j = 1; j < 10; j ++) {
if(min > arr[j]) {
min = arr[j];
}
}
System.out.println("该数组最小的值为:" + min);
  
//扩容,将最小值存在扩容之后的第一个
int [] newArr = Arrays.copyOf(arr, 11);
  
//从后往前遍历,将前面的值赋给后面的值,然后将第一个的值赋为最小值min
for(int k = newArr.length-1; k >=1; k --) {
newArr[k] = newArr[k-1];
}
//将第一个的值赋为最小值min
newArr[0] = min;
//打印数组的内容
System.out.println("扩容之后的数组为:"+ Arrays.toString(newArr));
}
  
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马