java小练习
Posted 再吃一个橘子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java小练习相关的知识,希望对你有一定的参考价值。
1.从键盘输入n个数,求这n个数中的最大数与最小数并输出,输出样例如下:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入数组长度:");
int num = sc.nextInt();
System.out.println("请输入数组中的"+num+"个数:");
int []arr = new int[num];
int i,min,max;
for(i = 0;i < num;i++) {
arr[i] = sc.nextInt();
}
for(i = 0,min = arr[0],max = arr[num-1];i < num;i++) {
if(arr[i] < min) {
min = arr[i];
}
if(arr[i] > max) {
max = arr[i];
}
}
System.out.println("最小值是"+min+"最大值是"+max);
}
}
该题精华,与君共享:最大值最小值的循环遍历比较
2.找出4*5矩阵中值最小和最大元素,并分别输出其值及所在的行号和列号,输出样例如下:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int[][] arr = new int[4][5];
Scanner sc = new Scanner(System.in);
int i, j, min, max, minRow = 0, minColumn = 0, maxRow = 0, maxColumn = 0;
System.out.println("请顺序输入4*5矩阵中的值: ");
for(i = 0; i < 4; i++) {
for(j = 0; j < 5; j++) {
arr[i][j] = sc.nextInt();
}
}
for(i = 0, min = arr[0][0], max = arr[3][4]; i < 4; i++) {
for(j = 0; j < 5; j++) {
if(arr[i][j] <= min) {
min = arr[i][j];
minRow = i;
minColumn = j;
}
if(arr[i][j] >= max) {
max = arr[i][j];
maxRow = i;
maxColumn = j;
}
}
}
System.out.println("最大值是"+max+"\\t最大值所在行数"+maxRow+"\\t最大值所在列数"+maxColumn);
System.out.println("最小值是"+min+"\\t最小值所在行数"+minRow+"\\t最小值所在列数"+minColumn);
}
}
该题精华,与君共享:与第一题异曲同工, 需要注意 用数组接收输入 的代码
3.求一个3阶方阵的对角线上个元素之和,输出样例如下:
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int[][] arr = new int[3][3];
Scanner sc = new Scanner(System.in);
int i, j, sum = 0;
System.out.println("3阶方程是:");
for(i = 0; i< 3; i++) {
for(j = 0; j < 3; j++) {
arr[i][j] = sc.nextInt();
}
}
for(i = 0; i < 3; i++) {
for(j = 0; j < 3; j++) {
if((i == j)||(i+j) == 2) {
sum += arr[i][j];
}
}
}
System.out.println("对角线元素和是" + sum);
}
}
该题精华,与君共享:对角线考虑的情况分两种:1.i == j 2.(i+j) == 2
4.产生0~100之间的8个随机整数,并利用冒泡排序法将其升序排序后输出,输出样例如下:
(冒泡排序算法:每次进行相邻两数的比较,若次序不对,则交换两数的次序)。
import java.util.Arrays;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int[] arr = new int[8];
int i, j, temp;
for(i = 0; i < 8; i++) {
arr[i] = (int)(Math.random()*100);
}
System.out.print("随机数: ");
for(i = 0; i < 8; i++) {
System.out.print(" "+arr[i]+" ");
}
System.out.println();
for(i = 0; i < 8; i++) {
for(j = 0; j < 7-i; j++) {
if(arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
System.out.println("排序后的数组:"+Arrays.toString(arr));
}
}
该题精华,与君共享:
5.输入3个数,找到最大值和最小值输出
import java.util.Scanner;
public class 求三个数中的最大最小值 {
public static void main(String[] args) {
// 求三个数中的最大最小值
Scanner superman = new Scanner(System.in);
int a,b,c;
int max,min;
System.out.println("请输入三个数");
System.out.print("请输入第一个数:");
a = superman.nextInt();
System.out.print("请输入第二个数:");
b = superman.nextInt();
System.out.print("请输入第三个数:");
c = superman.nextInt();
max=c>(a>b?a:b)?c:(a>b?a:b);
min=c<(a<b?a:b)?c:(a<b?a:b);
System.out.println("最大值:"+max);
System.out.println("最小值:"+min);
}
}
该题精华,与君共享:判断基数不多时,用三目运算符来判断大小
6.编程统计用户从键盘输入的字符串中所包含的字母、数字和其它字符的个数
import java.util.Scanner;
public class Test{
public static void main(String[] args) {
String str;
Scanner s = new Scanner(System.in);
System.out.println("请输入字符串:");
str = s.nextLine();
int letterCount = 0,numCount = 0,otherCount = 0;
int i;
char ch;
for(i = 0;i < str.length();i++) {
ch = str.charAt(i);
if((ch >= 'a'&& ch <= 'z')||(ch >= 'A' && ch <= 'Z'))
letterCount++;
if(ch >= '0' && ch <= '9')
numCount++;
else
otherCount++;
}
System.out.println("字母的个数是"+letterCount+"\\t数字的个数是"+numCount+"\\t其他"+(otherCount-letterCount));
}
}
该题精华,与君共享:
1.str.length()中的length() 方法用于返回字符串的长度
2.str.charAt()中的char.At()方法用于返回指定索引处的字符,见如下实例
3.注意otherCount-letterCount
public class Test {
public static void main(String args[]) {
String s = "www.runoob.com";
char result = s.charAt(6);
System.out.println(result);
}
}
//输出结果是n
以上是关于java小练习的主要内容,如果未能解决你的问题,请参考以下文章