需要简单Java模式编码方面的帮助吗
我将在for循环上创建以下模式:需要简单Java模式编码方面的帮助吗,java,for-loop,Java,For Loop,我将在for循环上创建以下模式: XXXXXXXXXX XXXXXXXXXY XXXXXXXXYY XXXXXXXYYY ... ……等等 public class ex{ public static void main(String[] args){ for(int i=0;i<=10;i++){ System.out.println(); for(int j=0;j<
XXXXXXXXXX
XXXXXXXXXY
XXXXXXXXYY
XXXXXXXYYY
...
……等等
public class ex{
public static void main(String[] args){
for(int i=0;i<=10;i++){
System.out.println();
for(int j=0;j<=10;j++){
if(i==0){
System.out.print("X");
}
if(i==1){
System.out.print("X");
if(j==9){
System.out.print("Y");
}
}
}
}
}
公共类ex{
公共静态void main(字符串[]args){
对于(int i=0;i提示:每一行的长度相同,下面每一行上只少一个X,多一个Y
public class XY
{
public static void main(String[] args)
{
System.out.print(xy(10,10));
}
public static String xy(int rows,int origRows)
{
return X(rows,origRows-rows)+"\n"+((rows>0)?xy(rows-1,origRows):"");
}
public static String X(int x,int y)
{
return (x>0?"X":"")+((x>0||y>0)?X(x-1,y-1):"")+(y>0?"Y":"");
}
}
teehee.尝试将两个循环嵌套在一个循环中。在外循环的每次迭代中,计数到i
,然后继续计数到10
:
// 10 lines
for(int i = 10; i >= 0; i--){
int j = 0;
// Print 'X's (10 - i of them)
for(; j < i; j++)
System.out.print("X");
// Print 'Y's (i of them)
for(; j < 10; j++)
System.out.print("Y");
System.out.println();
}
//10行
对于(int i=10;i>=0;i--){
int j=0;
//打印X(其中10-i个)
对于(;j
您具体问题的答案是:
for(int i=0;i<=10;i++)
for(int i=0;i可能不是最有效的版本,但它是这样的:
public static void main(String[] args) {
for (int i = 0; i <= 10; i++) {
System.out.println(repeat("X", 10 - i) + repeat("Y", i));
}
}
private static String repeat(String string, int times) {
return new String(new char[times]).replaceAll("\0", string);
}
publicstaticvoidmain(字符串[]args){
对于(int i=0;i矩阵的/对角线的条件是i+j=n,因此左上部分是i+jn
public static void main(String... arg) {
int n = 10;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if ( i + j < n) {
System.out.print("X");
} else {
System.out.print("Y");
}
}
System.out.println();
}
}
publicstaticvoidmain(字符串…arg){
int n=10;
对于(int i=0;i
如果要在\对角线上分开,对角线的条件是i=j,对于上部i>j和下部i这里有一个递归解决方案:
public class ex {
public static final String X = "X";
public static final String Y = "Y";
public static void main(String[] args){
printall(10, 0);
}
private static void printall(int length, int saturation){
if (saturation > length) {
return;
} else {
System.out.print(printRow(length, saturation, 0);
printall(length, saturation + 1);
}
}
private static String printrow(int length, int saturation, int position) {
if (position > length) {
return "";
} else {
return getChar(length, saturation, position) + printrow(length, saturation, position + 1);
}
}
private static String getChar(int length, int saturation, int position) {
if (length-saturation < position) {
return Y;
} else {
return X;
}
}
}
公共类ex{
公共静态最终字符串X=“X”;
公共静态最终字符串Y=“Y”;
公共静态void main(字符串[]args){
printall(10,0);
}
私有静态void printall(整数长度、整数饱和度){
如果(饱和度>长度){
返回;
}否则{
系统输出打印(打印行(长度,饱和度,0);
printall(长度、饱和度+1);
}
}
私有静态字符串printrow(int-length、int-saturation、int-position){
如果(位置>长度){
返回“”;
}否则{
返回getChar(长度、饱和度、位置)+printrow(长度、饱和度、位置+1);
}
}
私有静态字符串getChar(int-length、int-saturation、int-position){
if(长度饱和<位置){
返回Y;
}否则{
返回X;
}
}
}
这是家庭作业吗?它将描述响应的特征。这是我为自己阅读的一本书中的一个问题,刚刚卡住XD提示:在外部循环中创建两个嵌套循环,然后彼此相邻。第一个打印…第二个打印…-填补空白。谢谢。我刚刚尝试了这个方法,效果很好。在我阅读co时,注释帮助了我大声说出来。谢谢!@Jay你很受欢迎!如果你不懂其中的任何部分,请告诉我。你还了解了常数吗。你可能会从将10
放入常数中受益,因为它在两个地方使用。通常在编程时你不想重复自己,因为如果你需要进行更改,你必须编辑m程序的多个部分。在一个巨大的软件中,它会变得疯狂。如果你为10声明一个常量,并在两个位置使用它,那么你只需要进行一次编辑就可以更改输出的长度。