&& Java经典面试题

       在Java面试中,由于面试时间仓促,HR需要短时间内了解面试者的基本功,必须让面试者脱离编译器、电脑的情况下,写出一些基础的代码,下面整理几道经典的面试题目:

1、打印出9行菱形,如下图所示

    *

   ***

  *****

 *******

*********

 *******

  *****

   ***

    *


参考源代码:
public class Test1
{
	public static void main(String[] args)
	{
		int a=5;
		for(int i=1;i<=a;i++)
		{
            for(int j=1;j<=a-i;j++)
			{
				System.out.print(" ");
			}
            for(int k=1;k<=2*i-1;k++)
			{
				System.out.print("*");
			}
			System.out.println("");
		}
		int b=4;
		for(int i=1;i<=b;i++)
		{
			for(int j=1;j<=i;j++)
			{
				System.out.print(" ");
			}
			for(int k=1;k<=9-2*i;k++)
			{
				System.out.print("*");
			}
			System.out.println("");
		}
	}
}

2、实现输入任意五个整数利用冒泡算法排序

public class Test2
{
	public static void main(String[] args)
	{
		int[] a={6,8,3,5,2};
		for(int i=1;i<5;i++)
		{
			for(int j=0;j<5-i;j++)
			{
				int p;
				if(a[j]>a[j+1])
				{
					p=a[j];
					a[j]=a[j+1];
					a[j+1]=p;
				}
			}
		}
		for(int i=0;i<5;i++)
		{
			System.out.print(a[i]+" ");
		}
	}
}


3、找到100-999之间所有的水仙花数

public class Test3
{
	public static void main(String[] args)
	{
		for(int i=100;i<=999;i++)
		{
			int a=i/100;             //百位数    a=999/100=9
			int b=(i-a*100)/10;     //十位数     b=(999-9*100)/10
			int c=i-a*100-b*10;    //个位数
			int d=a*a*a+b*b*b+c*c*c;
			if(i==d)
			{
				System.out.println(i);
			}
		}
	}
}

4、实现12345逆序变成54321

public class Test4
{
	public static void main(String[] args)
	{
		int z=12345;           
		int a=z/10000;           //int e=num/10000;
		int b=(z-10000)/1000;    //int d=(num/1000)%10;
		int c=(z-12000)/100;     //int c=(num/100)%10;
		int d=(z-12300)/10;      //int b=(num/10)%10;
		int e=z-12340;           //int a=num%10;
		System.out.print(e*10000+d*1000+c*100+b*10+a);
	}
}



未完待续。。。。。。



猜你喜欢

转载自blog.csdn.net/qq_40254536/article/details/80848145