java題目分享
1、 如有唐詩
鋤禾日當午
汗滴禾下土
誰知盤中餐
粒粒皆辛苦
要求將這首唐詩按照古文樣式輸出,輸出格式如下:
粒誰汗鋤
粒知滴禾
皆盤禾日
辛中下當
苦餐土午
import java.util.*;
public class Test {
public static void main(String[] args) {
String[][] s={{"鋤","禾","日","當","午"},{"汗","滴","禾","下","土"},{"誰","知","盤","中","餐"},{"粒","粒","皆","辛","苦"}};
String[][] r=new String[5][4];
int y=3;
for(int i=0;i<5;i++)
{
for(int j=0;j<5;j++)
{
r[j][y]=s[i][j];
}
y--;
if(y<0)
{
break;
}
}
for(int i=0;i<5;i++)
{
for(int j=0;j<4;j++)
{
System.out.print(r[i][j]);
}
System.out.print("\n");
}
}
}
2、要為掃雷遊戲布置地雷,掃雷遊戲的掃雷面板可以用二維int數組表示。如某位置為地雷,則該位置用數字-1表示,
如該位置不是地雷,則暫時用數字0表示。
編寫程序完成在該二維數組中隨機布雷的操作,程序讀入3個參數:布雷面板的行數(r),列數(c),布置的地雷個數(n),
且要滿足0<n<r*c*0.75(即布置地雷的最大密度為75%),程序運行後將n個地雷隨機地布置在r*c的二維數組
import java.util.*;
public class Test {
public static void main(String[] args) {
Scanner rcn=new Scanner(System.in);
Scanner ccn=new Scanner(System.in);
Scanner ncn=new Scanner(System.in);
System.out.print("\t"+"歡迎來到掃雷遊戲!"+"\n");
System.out.print("輸入行數:");
int r=Integer.parseInt(rcn.nextLine());
System.out.print("\n"+"輸入列數:");
int c=Integer.parseInt(ccn.nextLine());
int n;
do
{
System.out.print("\n"+"輸入要布的雷數(雷數不能超過總格數的%75):");
n=Integer.parseInt(ncn.nextLine());
}while(n<0&&n>r*c*3/4);
int[][] s=new int[r][c];
int th=1;
for(int i=0;i<s.length;i++)
{
for(int j=0;j<s[0].length;j++)
{
if(th<=r*c)
{
s[i][j]=th;
th++;
}
}
}
int[] tg=new int[n];
for(int i=0;i<n;i++)
{
tg[i]=0;
}
Random sn=new Random();
for(int i=0;i<n;)
{
int tgh;
tgh=(int)(sn.nextDouble()*r*c)+1;
boolean ty=flase;
for(int j=0;j<=i;j++)
{
if(tgh==tg[j])
{
ty=true;
break;
}
}
if(ty)
{
continue;
}
else if(tg[i]==0)
{
tg[i]=tgh;
i++;
}
}
/*for(int i=0;i<n;i++)
{
System.out.print(tg[i]+"\t");
}*/
for(int q=0;q<s.length;q++)
{
for(int j=0;j<s[0].length;j++)
{
boolean tu=true;
for(int i=0;i<n;i++)
{
if(s[q][j]==tg[i])
{
s[q][j]=-1;
tu=flase;
}
}
if(tu)
{
s[q][j]=0;
}
}
}
for(int q=0;q<s.length;q++)
{
for(int j=0;j<s[0].length;j++)
{
System.out.print(s[q][j]+"\t");
}
System.out.print("\n");
}
}
}
以上代碼是我個人所寫,覺得可以的朋友歡迎采納,轉載請註明出處。
java題目分享