java练习题day01

每日java题目day01

1. 输入一个字符串,将输入的小写字母转换为大写字母

public class DaXie {
	public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
    System.out.println("请输入一个字符串:");
	String s=sc.nextLine();//从键盘获取一个字符串
	char a[]=s.toCharArray();//将字符串转为字符型数组
	for(int i=0;i<a.length;i++) {
		if(a[i]>='a'&&a[i]<='z') {
			change(a[i]);//调用方法
		}else {
		System.out.print(""+a[i]);
	}}
	}
	private static char change(char c) {
		int a=(int)c;//将单个字符转为int型,然后-32在转为字符型。
		int b=a-32;
		char c1 = (char)b;
		System.out.print(""+c1);
		return c1;
	}
}

2.递归求5!

public class DiDUi {
	public static void main(String[] args) {
		jiecheng(5);//调用方法
		System.out.println("5!结果是:"+jiecheng(5));
	}
	private static int jiecheng(int i) {//创建方法
		// TODO Auto-generated method stub
		if(i==0) {
			return 1;
		}else {
			return(i*jiecheng(i-1));
		}		
	}
}

3.输入一个24的数组和一个43的数组,实现数组相乘并输出

public class Juzhen相乘 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int a[][]=new int[2][4];//定义一个2*4的数组
		for(int i=0;i<2;i++)
			for(int j=0;j<4;j++)
				a[i][j]=sc.nextInt();//从键盘输入数组
		int b[][]=new int[4][3];
		for(int i=0;i<4;i++)
			for(int j=0;j<3;j++)
				b[i][j]=sc.nextInt();
		int [][] c = new int[2][3];
		for(int i=0;i<a.length;i++) {//控制a的行变量
			for(int j=0;j<b[0].length;j++) {//控制b的列变量
				for(int k=0;k<a[0].length;k++) {//控制a的列变量和b的行变量
					c[i][j]=c[i][j]+a[i][k]*b[k][j];
			}
				System.out.print(c[i][j]+" ");
		}
			System.out.println("");
		}
	}
}

4.输入年月日,并判断是一年中的那一天

public class Panduantianshu {
	public static void main(String[] args) {
		Scanner sc= new Scanner(System.in);
		System.out.println("请输入年、月、日:");
		int y=sc.nextInt();
		int m=sc.nextInt();
		int d=sc.nextInt();
	    int sum=0;
        for(int i=1;i<m-1;i++) {
        	int day=0;
        	switch(i) {
        	case 1:
        	case 3:
        	case 5:
        	case 7:
        	case 8:
        	case 10:
        	case 12:
        		day=31;
        		break;
        	case 4:
        	case 6:
        	case 9:
        	case 11:
        		day=30;
        		break;
        	case 2:
        		if(y%400==0||(y%4==0&&y%100!=0)) {
        			day=29;
        			break;
        		}else {
        			day=28;
        		    break;
        		}
        	}
    		sum=sum+day;
        } 
		    System.out.println("第"+sum+"天");	
	}
}

**

5.输入一个数字和一个字符串,求移动后的字符串,如:输入3和abcde,输出后为deabc

**

public class ShuZu {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入一个字符串:");
		String str=sc.nextLine();
		//为啥都要大写S和L?
		System.out.println("请输入一个数字");
		int n=sc.nextInt();
		/*将字符串储存再数组中有两种方法
		 * 1、
		 * String str=“brower”;
		 * char[] array=new char[100];
		 * for(i=0;i<str.length();i++)
		 *     array[i]=str.charAt(i);
		 * 这是利用charAt的方法:用于返回指定索引处的字符,索引的范围从0到length-1*/
		char [] chs=str.toCharArray();
		//将数字型的字符串转为char型数组
		char[]c=move(chs,n);
		System.out.println("移动后的数组为:"+c);
		for(int i=0;i<c.length;i++)
			System.out.println(c[i]);
		System.out.println();	
	}
	private static char[] move(char[] chs, int n) {
		char[] arr=new char[chs.length];
		int t=0;
		for(int i=0;i<chs.length;i++) {
			t=(i+n)%chs.length;
			arr[t]=chs[i];	
		}
		// TODO Auto-generated method stub
		return arr;
	}

}

本人是新手码农,有什么错误可以在评论区指出,欢迎交流!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值