我有这些代码用于打印奇数的沙漏。我需要奇数和偶数才能工作。请帮忙
int nRows = 4;
for(int i=0; i < nRows/2; i++ ) {
for(int j = nRows - i; j < nRows; j++) {
System.out.print(" ");
}
for(int j = 0; j < nRows - 2*i; j++) {
System.out.print("*");
}
System.out.println();
}
for(int i=0; i < (nRows+1)/2; i++ )
{
for(int j = 1; j <= nRows/2 - i; j++)
System.out.print(" ");
for(int j = 0; j <= i*2; j++)
System.out.print("*");
System.out.println();
}
}
我的输出是
****
**
*
***
,输出应为
****
**
**
****
答案 0 :(得分:1)
在第二个for循环中进行一些更改并应用相同的绘图逻辑
//start point to the end of the array
var file = fileArray.buffer.slice(fileStart, lastBoundary);
if (!file || 0 === file.byteLength) {
_displayError("Pdf introuvable");
}
else if (type == "text/html;charset=UTF-8") {
_displayError("Erreur de téléchargement du pdf. Veuillez contacter l'administrateur.");
}
else {
var blob = new Blob([file],
{
type: type
});
答案 1 :(得分:0)
我认为你想要一个类似n=6
下面的数字:
******
****
**
**
****
******
这是一个解决它的简单代码:
class Main {
public static void main(String[] args) {
int nRows = 6;
if(nRows%2==0)
{
hourGlassEven(nRows/2);
}
else
{
hourGlassOdd((nRows/2)+1);
}
}
public static void hourGlassOdd(int nRows)
{
int i,j,k,l;
for(i=0;i<nRows;i++)
{
for(j=0;j<i;j++)
{
System.out.print(" ");
}
for(k=0;k<nRows-i;k++)
{
System.out.print("*");
}
for(l=0;l<nRows-i-1;l++)
{
System.out.print("*");
}
System.out.println();
}
for(i=0;i<nRows-1;i++)
{
for(j=0;j<nRows-i-2;j++)
{
System.out.print(" ");
}
for(k=0;k<i+2;k++)
{
System.out.print("*");
}
for(l=0;l<i+1;l++)
{
System.out.print("*");
}
System.out.println();
}
}
public static void hourGlassEven(int nRows)
{
int i,j,k,l;
for(i=0;i<nRows;i++)
{
for(j=0;j<i;j++)
{
System.out.print(" ");
}
for(k=0;k<nRows-i;k++)
{
System.out.print("*");
}
for(l=0;l<nRows-i;l++)
{
System.out.print("*");
}
System.out.println();
}
for(i=0;i<nRows;i++)
{
for(j=0;j<nRows-i-1;j++)
{
System.out.print(" ");
}
for(k=0;k<i+1;k++)
{
System.out.print("*");
}
for(l=0;l<i+1;l++)
{
System.out.print("*");
}
System.out.println();
}
}
}
编辑:为偶数添加了你的逻辑!!看看
答案 2 :(得分:0)
无论 size
是偶数还是奇数,此代码都将显示沙漏图案。
对于那些仍在寻找有关沙漏挑战的更简单代码的人。可以作为参考。
public static void hourGlass(int size) {
// 2 for loops only
int dimension = (size * 2) - 1, space = 0, stars = size - 1, printed = 0;
for(int i=0; i<dimension; i++) {
int actual = space;
for (int j=dimension; j > 0; j--) {
if(actual > 0) {
System.out.print(" ");
actual--;
}
else {
System.out.print("*");
if(stars==printed) {
actual = space;
printed = 0;
} else {
actual = 1;
printed++;
}
}
}
if(i <= size-2) { // will pattern spaces and stars from top to middle
space++;
stars--;
}
else { // will pattern spaces and stars from middle to top
space--;
stars++;
}
System.out.println();
}
}