在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);
}
}
未完待续。。。。。。