##打印图形题
1.
for(int i=1;i<=5;i++) {
for(int j=1;j<=5-i;j++) {
System.out.print(" ");
}
for(int j=1;j<=i;j++) {
System.out.print("*");
}
System.out.println();
2.
for(int i=1;i<=5;i++) {
for(int j=1;j<=i-1;j++) {
System.out.print(" ");
}
for(int j=1;j<=6-i;j++) {
System.out.print("*");
}
System.out.println();
}
3.
1
12
123
1234
12345
for(int i=1;i<=5;i++) {
for(int j=1;j<=i;j++) {
System.out.print(j);
}
System.out.println();
}
4.
a
ab
abc
abcd
abcde
for(int i=1;i<=5;i++) {
for(int j=1;j<=i;j++) {
System.out.print((char)(j+96));
}
System.out.println();
}
5.
for(int i=1;i<=9;i++) {
if(i<=5) {
for(int j=1;j<=5-i;j++) {
System.out.print(" ");
}
for(int k=1;k<=2*i-1;k++) {
System.out.print("*");
}
}else {
for(int j=1;j<=i-5;j++) {
System.out.print(" ");
}
for(int k=1;k<=2*(9-i)+1;k++) {
System.out.print("*");
}
}System.out.println();
}
6.
for(int i=1;i<=5;i++){
for(int j=1;j<=5-i;j++) {
System.out.print(" ");
}
for(int j=1;j<=i;j++) {
System.out.print(j);
}
for(int j=i-1;j>=1;j--) {
System.out.print(j);
}
System.out.println();
}
for(int i=1;i<=4;i++){
for(int j=1;j<=i;j++){
System.out.print(" ");
}
for(int j=1;j<=5-i;j++){
System.out.print(j);
}
for(int j=4-i;j>0;j--){
System.out.print(j);
}
System.out.println();
}
7.打印字母
for(int i=1;i<=5;i++){
for(int j=1;j<=5-i;j++) {
System.out.print(" ");
}
for(int j=1;j<=i;j++) {
System.out.print((char)(j+96));
}
for(int j=i-1;j>=1;j--) {
System.out.print((char)(j+96));
}
System.out.println();
}
for(int i=1;i<=4;i++){
for(int j=1;j<=i;j++){
System.out.print(" ");
}
for(int j=1;j<=5-i;j++){
System.out.print((char)(j+96));
}
for(int j=4-i;j>0;j--){
System.out.print((char)(j+96));
}
System.out.println();
}
8.打印三棵树
for(int i=1;i<=5;i++){
for(int k=1;k<=3;k++) {
for(int j=1;j<=5-i;j++) {
System.out.print(" ");
}
for(int j=1;j<=2*i-1;j++) {
System.out.print("*");
}
for(int j=1;j<=8-i;j++) {
System.out.print(" ");
}
}
System.out.println();
}
for(int i=1;i<=4;i++){
for(int k=1;k<=3;k++) {
for(int j=1;j<=2;j++) {
System.out.print(" ");
}
for(int j=1;j<=5;j++) {
System.out.print("*");
}
for(int j=1;j<=5;j++) {
System.out.print(" ");
}
}
System.out.println();
}
逻辑编程题
1.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
分析:从第一个月开始,每个月兔子对数量为1,1,2,3,5,8,13,…
得出第n月兔子数是n-1和n-2月兔子数之和;
public class TestRabbit {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int sum=sumRabbit(n);
System.out.println("兔子数量为:"+sum);
}
public static int sumRabbit(int n){
int sum=0;
if(n==1||n==2){
sum=1;
}else{
sum=sumRabbit(n-1)+sumRabbit(n-2);
}
return sum;
}
}
2.输入一个正整数并将其分解质因
public class TestYSFJ {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
fenJie(n);
}
public static void fenJie(int n){
System.out.print(n+"=");
for(int i=2;i<=n;i++){
if(n%i==0&&n!=i){
n=n/i;
System.out.print(i+"*");
i=1;
}else if(n==i){
System.out.print(i);
break;
}
}
}
}
3.一个小球从h米高落下,每次落地后反弹的最大高度是h/2,问第n次落地时,小球经过的总路长时多少?第n次落地后反弹的最大高度是多少?(输入高度和次数)
public class TestFanTan {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
double h=sc.nextInt();
double sum=sumLength(n,h);
double height=height(n,h);
System.out.println("第n次落地时经过得总长度为:"+sum);
System.out.println("第n次落地后反弹得高度为:"+height);
}
public static double height(int n,double h){
for(int i=1;i<=n;i++){
h/=2;
}
return h;
}
public static double sumLength(int n,double h){
double sum=0;
for(int i=1;i<=n;i++){
sum+=h;
h/=2;
}
return sum;
}
}
4.输入一个数n,求1!+2!+3!+…+n!
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int sum=0;
for(int i=1;i<=n;i++) {
int temp=1;
int a=1;
for(int j=1;j<=i;j++) {
a*=j;
}
sum+=a;
}
System.out.println(sum);
5.将字符串"nice to meet you",按"ecin ot teem uoy"输出
public static void fun1(){
String str="nice to meet you";
String strs []=str.split(" ");
StringBuffer sb0=new StringBuffer(strs[0]);
StringBuffer sb1=new StringBuffer(strs[1]);
StringBuffer sb2=new StringBuffer(strs[2]);
StringBuffer sb3=new StringBuffer(strs[3]);
String str0=sb0.reverse().toString();
String str1=sb1.reverse().toString();
String str2=sb2.reverse().toString();
String str3=sb3.reverse().toString();
str=str0+" "+str1+" "+str2+" "+str3;
System.out.println(str);
}
6.批量赋值某个文件夹下指定后缀名的文件到指定路径下
File file=new File("C:\\Users\\minxd\\Desktop\\");
File []files=file.listFiles();
for (File file2 : files) {
if(file2.getName().endsWith(".jpg")){
String str=file2.getName();
String str1=str.substring(0, str.indexOf("."))+".png";
FileInputStream fis=new FileInputStream("C:\\Users\\minxd\\Desktop\\"+file2.getName());
FileOutputStream fos=new FileOutputStream("C:\\Users\\minxd\\Desktop\\"+str1);
byte bt[]=new byte[1024];
int len=0;
while((fis.read(bt))!=-1){
fos.write(bt);
}
fis.close();
fos.close();
}