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