5.1 输入n个数,输出这些数中大于其平均值的数。
import java.util.*;
public class aver
{
public static void main(String[] args)
{
int n;
Scanner reader = new Scanner(System.in);
System.out.print("将要输入几个数:");
n=reader.nextInt();
double[] num=new double[n];
System.out.print("请输入这些数:");
for(int i=0;i<n;i++)
{
num[i]=reader.nextDouble();
}
double sum=0,aver;
for(int j=0;j<n;j++)
sum+=num[j];
aver=sum/n;
for(int i=0;i<n;i++)
{
if(num[i]>aver)
System.out.print(num[i]+" ");
}
}
}
5.2 输入n个数,求这n个数中的最大数与最小数并输出。
import java.util.*;
public class MaxMin
{
public static void main(String[] args)
{
int n;
Scanner reader = new Scanner(System.in);
System.out.print("将要输入几个数:");
n=reader.nextInt();
double[] num=new double[n];
System.out.print("请输入这些数:");
for(int i=0;i<n;i++)
{
num[i]=reader.nextDouble();
}
double max=num[0],min=num[0];
for(int i=0;i<n;i++)
{
if(num[i]>max)
max=num[i];
else if(num[i]<min)
min=num[i];
}
System.out.println("最大数是"+max+",最小数是"+min);
}
}
5.3 求一个3阶方阵的对角线上个元素之和。
import java.util.*;
public class threeMatrix
{
public static void main(String[] args)
{
int[][] num=new int[3][3];
Scanner reader = new Scanner(System.in);
System.out.println("请输入一个3阶方阵:");
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
num[i][j]=reader.nextInt();
}
}
int sum=0;
sum=num[0][0]+num[1][1]+num[2][2]+num[0][2]+num[2][0];
System.out.println("对角线上各元素之和是"+sum);
}
}
5.4 找出4*5矩阵中值最小和最大元素,并分别输出其值及所在的行号和列号。
import java.util.*;
public class matrixMaxMin
{
public static void main(String[] args)
{
int[][] num=new int[4][5];
Scanner reader = new Scanner(System.in);
System.out.println("请输入一个4X5矩阵:");
for(int i=0;i<4;i++)
{
for(int j=0;j<5;j++)
{
num[i][j]=reader.nextInt();
}
}
int max=num[0][0],min=num[0][0];
int maxrow=0,maxcol=0,minrow=0,mincol=0;
for(int i=0;i<4;i++)
{
for(int j=0;j<5;j++)
{
if(num[i][j]>max)
{
max=num[i][j];
maxrow=i+1;
maxcol=j+1;
}
else if(num[i][j]<min)
{
min=num[i][j];
minrow=i+1;
mincol=j+1;
}
}
}
System.out.printf("最大元素为%d,在第%d行,第%d列;最小元素为%d,在第%d行,第%d列。\n",max,maxrow,maxcol,min,minrow,mincol);
}
}
5.5 产生0~100之间的8个随机整数,并利用冒泡排序法将其升序排序后输出。(冒泡排序算法:每次进行相邻两数的比较,若次序不对,则交换两数的次序)。
import java.util.*;
public class randomBubble
{
public static void main(String[] args)
{
int n=8;
Scanner reader = new Scanner(System.in);
//System.out.print("将要输入几个数:");
//n=reader.nextInt();
int[] num=new int[n];
Random random = new Random();
System.out.print("随机生成8个整数:");
for(int i=0;i<n;i++)
{
num[i]=random.nextInt(101);
System.out.print(num[i]+" ");
}
System.out.println();
for(int i=0;i<n-1;i++)
for(int j=0;j<n-1-i;j++)
{
if(num[j]>num[j+1])
{
int t;
t=num[j];
num[j]=num[j+1];
num[j+1]=t;
}
}
System.out.print("经过冒泡升序排序后:");
for(int i=0;i<n;i++)
{
System.out.print(num[i]+" ");
}
}
}
5.6 15红球和15个绿球排成一圈,从第1个球开始数,当数到第13个球时就拿出此球,然后再从下一个球开始数,当再数到第13个球时又取出此球,如此循环进行,直到仅剩15个球为止,问怎样排法才能使每次取出的球都是红球。
import java.util.*;
public class redBall
{
public static void main(String[] args)
{
System.out.println("将30个球的位置从1开始编号");
int []a=new int [30];
int n=30,k=0,y=1;
for(int i=0;i<30;i++)
a[i]=i+1;//从1开始编号
do
{
k=(k+12)%n; //用来循环数的
System.out.println("第"+y+"次取出第"+a[k]+"号球");
for(int j=k;j<n-1;j++)
a[j]=a[j+1];
n--;
y++;
}
while(y<=15);
System.out.println("在相应的位置放红球就好");
}
}
5.7 编写Java应用程序,比较命令行中给出的两个字符串是否相等,并输出比较的结果。
import java.util.*;
public class strEqual
{
public static void main(String[] args)
{
String str1, str2;
Scanner reader=new Scanner(System.in);
System.out.print("请输入第一个字符串:");
str1=reader.nextLine();
System.out.print("请输入第二个字符串:");
str2=reader.nextLine();
int cmp;
cmp=str1.compareTo(str2);
if(cmp==0)
System.out.println("两个字符串相等");
else
System.out.println("两个字符串不相等");
}
}
5.8 从键盘上输入一个字符串和子串开始位置与长度,截取该字符串的子串并输出。
import java.util.*;
public class strSon
{
public static void main(String[] args)
{
String str1, str2;
Scanner reader=new Scanner(System.in);
System.out.print("请输入一个字符串:");
str1=reader.nextLine();
System.out.print("请输入子串开始的位置(字符串从0开始):");
int loc=reader.nextInt();
System.out.print("请输入子串的长度:");
int len=reader.nextInt();
str2=str1.substring(loc,loc+len);
System.out.println("子串为:"+str2);
}
}
5.9 从键盘上输入一个字符串和一个字符,从该字符串中删除给定的字符。
import java.util.*;
public class charDelete
{
public static void main(String[] args)
{
String str;
Scanner reader=new Scanner(System.in);
System.out.print("请输入一个字符串: ");
str=reader.nextLine();
String ch;
System.out.print("请输入要删除的字符: ");
ch=reader.nextLine();
str=str.replace(ch, "");
System.out.println("已删除指定字符的字符串: "+str);
}
}
5.10 编程统计用户从键盘输入的字符串中所包含的字母、数字和其它字符的个数。
import java.util.*;
public class LetNumOther
{
public static void main(String[] args)
{
String str;
Scanner reader=new Scanner(System.in);
System.out.print("请输入一个字符串: ");
str=reader.nextLine();
int letCount=0,numCount=0,otherCount=0;
int n=str.length();
char ch;
for(int i=0;i<n;i++)
{
ch=str.charAt(i);
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')
letCount++;
else if(ch>='0'&&ch<='9')
numCount++;
else
otherCount++;
}
System.out.printf("字母个数:%d,数字个数:%d,其他字符个数:%d\n",letCount,numCount,otherCount);
}
}
5.11 将用户从键盘输入的每行数据都显示输出,直到输入字符串“exit”,程序运行结束。
import java.util.*;
public class exitEnd
{
public static void main(String[] args)
{
String str;
Scanner reader=new Scanner(System.in);
System.out.print("请输入内容: ");
str=reader.nextLine();
String sub="exit";
int cmp=str.compareTo(sub);
while(cmp!=0)
{
System.out.println("内容为: "+str);
System.out.print("请输入内容: ");
str=reader.nextLine();
cmp=str.compareTo(sub);
}
System.out.println("程序结束");
}
}