一些java习题的码源提供:
①一维数组转换:
public class W {
public static void main(String[] args) {
int [] array={40,10,30,20,50,60};
System.out.println("原始数据:");
ShowArray(array);
int m=array.length;
for(int i=0;i<m/2;i++){
int sum;
sum=array[i];
array[i]=array[m-i-1];
array[m-i-1]=sum;
}
ShowArray(array);
}
public static void ShowArray(int[] arr){
for(int x:arr){
System.out.print(x+"\t");
}
System.out.println();
}
}
②二位数组转正:
public class W {
int n,m;
public static void main(String[] args) {
//int array[][] ={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
Scanner input =new Scanner(System.in);
System.out.println("请输入矩阵规格:");
int n=input.nextInt(), m=input.nextInt();
//int m=input.nextInt();
int[][]array=new int [n][m];
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
array[i-1][j-1]=i*j;
}
}
System.out.println("原始数据:");
ShowArray(array);
//int m=array.length;
int arr2[][]=new int [array[0].length][array.length];
for(int i=0;i<arr2.length;i++){
for(int j=0;j<arr2[0].length;j++){
arr2[i][j]=array[j][i];
}
}
System.out.println("转制后的输出");
ShowArray(arr2);
}
//for循环方法
/*public static void ShowArray(int[][] arr){
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[0].length;j++){
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}*/
//foreach 方法实现
public static void ShowArray(int[][] arr){
for(int x[]:arr){
for(int e:x){
System.out.print(e+"\t");
}
System.out.println();
}
}
}
③:大小写转换 并输出:
Scanner input1=new Scanner(System.in);
int i=input1.nextInt();
if(i==1){
Scanner input=new Scanner(System.in);
System.out.println("请输入所求字符小写部分:");
String s=input.next();
System.out.println("请输入所求字符大写部分:");
String a=input.next();
String str1 = new String(s);
String str2 = new String(a);
System.out.println("转成大写后:");
String newstr2 = str1.toUpperCase();
String newstr1=str2.toLowerCase();
System.out.println(newstr2+newstr1);
System.out.println("请输入要求的字符串:");
String d=newstr2.substring(5,7);
System.out.println(d+"\t");
}
else{
}
④拆:
public class W {
public static void main(String[] args) {
String str = "zhongguo Beijing@ 2018";
String newstr = str.replace("@", ""); //去除字符串 中的单个字符
String newstr1 = newstr.replace(" ", ",");//以“,”为分隔线将
System.out.println(newstr1);
String[] newstr2 = newstr1.split(",");
for (int i = 0; i < newstr2.length; i++) {
System.out.println(newstr2[i]);
}
//String str1 = "java project";
//String newstr1 = str1.replace("j","J");
//System.out.println(newstr1);
}
}
⑤将句子里单个单词都反着输出:
public static void main(String[] args) {
/*Scanner input=new Scanner (System.in);
System.out.println("请输入要转换的字符");
String x=input.next();
String s=new String(x);*/
String s="to be or be to";
String[] ss=s.split(" ");
StringBuffer sb2=new StringBuffer();
for(int i=0;i<ss.length;i++){
StringBuffer sb=new StringBuffer(ss[i]);
sb.reverse();
sb2.append(sb);
if(i==ss.length-1){
sb2.append(".");
}else {
sb2.append(" ");
}
}
System.out.println(sb2);
}
⑥正则:
String regex = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
Scanner input=new Scanner(System.in);
System.out.println("shuru");
String a=input.next();
String x=new String(a);
String str1 = x; // 定义要进行验证的字符串
String str3 = "1111@111ffyu.dfg.com";
if (str1.matches(regex)) { // 判断字符串变量是否与正则表达式匹配
System.out.println(str1 + "是一个合法的E-mail地址格式");
}
if (str3.matches(regex)) {
System.out.println(str3 + "是一个合法的E-mail地址格式");
}
⑥选猴王:
import java.util.Random;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
//import java.util.Arrays;
public class W {
public static List<Integer> getOutQue(int[] a,int flag){
List<Integer> result = new ArrayList<>();
int restaNum = a.length;//数组长度
int count = 1;//计数器
int i = 0;//猴子
while(restaNum!=1){
if(a[i]!=0){
if(count == flag){
count = 1;//计数器清零
//result.add(a[i]);//将出局的猴子放入一个集合
System.out.println("第"+(i+1)+"只猴子被淘汰");
a[i] = 0;//出局的猴子置0
restaNum--;//剩余数量减一
}
else{
count++;
}
}
i = (i+1)%a.length;;
}
for(int j = 0; j < a.length; j++){
if(a[j] != 0){
System.out.println("第" + (j+1)+ "只猴子被选为大王!");
}
//result.add(j);
}
return result;
}
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
System.out.println("请输入矩阵规格:");
int n=input.nextInt();
System.out.println("请输入筛选间隔数");
int m=input.nextInt();
int[]a=new int [n];
//int[] a=new int [10];
//Scanner scan=new Scanner(System.in);
for(int i=0;i<n;i++)
{
a[i]=i+1;
//a[i]=scan.nextInt();
}
// int[] a = new int[]{1,2,3,4,5,6,7,8,9};
int flag = m;
System.out.println(getOutQue(a ,flag));
}
}
⑦闰年:
public static void main(String[] args) {
int c=0;
for(int i=2000;i<2100;i++){
if(i%4==0&&i%100!=0||i%400==0){
System.out.print(i+"是闰年\t\t");
c++;
if(c>4){
System.out.println();
c=0;
}
}
}
}
⑧随机数求平均值:
public static void main(String[] args) {
int arr[]=new int [10];
Random p= new Random();//生成一个随机数
double sum=0.0f;
System.out.println("这组数为:");
for(int i=0;i<arr.length;i++){
arr[i]=p.nextInt(101);
sum=sum+arr[i];
System.out.print(arr[i]+"\t");
}
System.out.println("");
System.out.println("平均值:"+sum/arr.length);
}