A. java如何让弄出金字塔效果
方法写错了,我给你纠正下
Scannerinput=newScanner(System.in);
inti=input.nextInt();
for(intx=0;x<=i;x++){
for(inty=0;y<(i-x);y++){
System.out.print("");//打印金字塔每一行的空格
}
for(inty=0;y<(2*x-1);y++){//打印每一行的*
System.out.print("*");
}
System.out.println();
}
main方法应该这样写
B. JAVA打印一个倒立和正立的金字塔,就像影子那样的,原来会,突然想不起来了,谢谢先,详细代码啊
方法一:一个星星一个星星的打印
方法二:
public class Diamond {
public static void main(String[] args) {
final int size = 4;
for (int i = 1; i <= size; i++) {
for (int j = i; j < size; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
for (int i = size - 1; i >= 1; i--) {
for (int j = 1; j <= size - i; j++) {
System.out.print(" ");
}
for (int k = 2 * i - 1; k > 0; k--) {
System.out.print("*");
}
System.out.println();
}
}
}
方法三:
public static void main(String[] args){
Scanner n = new Scanner(System.in);
System.out.println("请输入整数:");
int size = n.nextInt();
char[] a = m(size);
float length = a.length;
int min = Math.round(length / 2) - 1;
int life = min;
int right = min;
for(int j = 0; j < size; j++) {
for(int i = 0; i < a.length; i++) {
if(i >= life && i <= right) {
a[i] = '*';
}
else {
a[i] = ' ';
}
System.out.print(a[i]);
}
System.out.println();
System.out.println();
life--;
right++;
}
life += 2;
right -= 2;
for(int j = 0; j < size - 1; j++) {
for(int i = 0; i < a.length; i++) {
if(i >= life && i <= right) {
a[i] = '*';
}
else {
a[i] = ' ';
}
System.out.print(a[i]);
}
System.out.println();
System.out.println();
life++;
right--;
}
}
public static char[] m(int n) {
int m = 2 * n - 1;
char[] a = new char[m];
return a;
}
}
方法四:
/**
* Prints a diamond of a particular size - see the readme for a full description
*/
public static void printDiamond(int size)
{
String result="";
for(int column=1; column<=size; column++)
{
int a=size-column;
for(int s=0; s<a; s++)
{
result+=" ";
}
int b=2*column-1;
for(int start=0; start<b;start++)
{
result+="*";
}
System.out.println(result);
result="";
}
for(int n=1;n<=size-1;n++)
{
// result+="a";
for(int c=0;c<n;c++)
{
result+=" ";
}
int numberOfStart=(2*size-1)-2*n;
for(int b=numberOfStart;b>0;b--)
{
result+="*";
}
System.out.println(result);
result="";
}
}
C. Java打印一半金字塔的代码,同样的代码,老师能打印出来,我的不仅“*”是竖着的而且还少一行
System.out.print("*");
System.out.println("*");是打印后换行
D. JAVA以金字塔形式输出 1 2 3 4 5 6
intcount=1;
intx=3;
for(inti=x;i>0;i--){
for(intj=1;j<i;j++){
System.out.print("");
}
for(intK=0;K<=x-i;K++){
System.out.print(count);
System.out.print("");
count++;
}
System.out.println("");
}
E. 编写java程序打印金字塔形图案。
public
class
Main
{
public
static
void
main(String[]
args)
{
for
(int
i
=
0;
i
<
5;
i++)
//这一句控制5行的打印。
{
for
(int
j
=
0;
j
<
5
-
i
-
1;
j++)
{
System.out.print("
");
}//这一句共执行5-i-1次,即输出5-i-1个空格。
for
(int
k
=
0;
k
<
2*i+1;
k++)
{
System.out.print("*");
}//这一句共执行i+1次。即输出2i+1个*。
//该输出的都输出了,换一行继续打印。
System.out.println();
//打印一个回车符,即换行了。
}//你可以迭代一下每个i值,看看打印的个数对不对。
}
}下边是我写的其他程序。
F. java输出如下的金字塔形的数字
importjava.util.Scanner;
publicclassExe_19{
publicstaticvoidmain(String[]args){
System.out.print("请输入一个的数字:");
Scannerinput=newScanner(System.in);
inta=input.nextInt();
for(inti=1;i<=a;i++){
for(intj=0;j<a-i;j++)//打印空格
System.out.print("");
for(intk=1;k<=i;k++)
System.out.printf("%3.0f",Math.pow(2,(k-1)));//打印左半边
for(intq=i;q>1;q--)
System.out.printf("%3.0f",Math.pow(2,(q-2)));//打印右半边
System.out.print("
");
}
}
}
G. 怎样用JAVA打印出下面下列数字金字塔
这是我看到的第三个相同的问题了
先给你讲思路吧,首先这是个三角形,用3个FOR循环打印,一个控制行,一个控制前面的空格,一个控制后面打的东西。
如:
for(){//控制行数
for(){//控制每行前面的空格
}
for(){//控制每行所打的东西
}
}
例如光打个三角形的,不管里面的数字,那就这样:
for(inthang=0;hang<6;hang++){//控制行(hang)
for(intkongge=0;kongge<hang;kongge++){//控制前面空格
System.out.print("");
}
for(intneirong=6;neirong>hang;neirong--){//控制内容
System.out.print("*");
}
System.out.println();//打印完一行换行
}
第三个FOR循环里面的neirong>hang(这个变量可以自己定,表示有对少内容,这个是大于行数,由行数来决定,因为行数循环一次增加一次,则内容就减少一个)
上面是每打一行,则少一个内容,而你的题目是少两个,你数数,你的第一行有11个,第二就有9个了。
那就这样:
intnr=11;//定义控制内容个数的变量nr
for(inthang=0;hang<6;hang++){//控制行
for(intkongge=0;kongge<hang;kongge++){//控制空格
System.out.print("");
}
for(intneirong=nr;neirong>0;neirong--){//看,内容等于nr
System.out.print("*");
}
nr=nr-2;//每循环完一次,nr减少2;
System.out.println();
}
看到了么第三个for循环里的neirong>0,我写的是0,也可以的,意思内容由nr决定,第一次循环是11个数字,结束后nr-2,下一次循环就是9个数字了,以此类推
------------
好了,现在形状已经打印出来了,那就把里面的*改成变化的数字就可以了。首先你的数字是先是以3的倍数增加,然后到中间后,以3的倍数减少。你数数,每行都是从最中间开始变的,中间那个数最大。
那首先我想到的是写两个方法,一个乘,一个除。
一下是两个方法:
publicstaticintcheng(intnum1){
num1=num1*3;
if(num1==0){
num1=1;
}
returnnum1;
}
publicstaticintchu(intnum1){
num1=num1/3;
returnnum1;
}
现在方法写了,我们直接带入进去就好了;
我给全部代码:
publicclassSan{//类名三
publicstaticintcheng(intnum1){//静态乘法方法
num1=num1*3;//带入的参数乘3
if(num1==0){//判断如果参数是0,则直接返回1
num1=1;
}
returnnum1;//返回结果
}
publicstaticintchu(intnum1){//静态方法除法
num1=num1/3;//参数直接除以3
returnnum1;//返回结果
}
publicstaticvoidmain(String[]args){//程序入口main方法
intnr=11;//定义初始内容个数,11个
for(inthang=0;hang<6;hang++){//第一个FOR循环,控制行
intchushi=0;//上面两个参数的初始值0
for(intkongge=0;kongge<hang;kongge++){//控制空格
System.out.print(" ");//打印空格
}
for(intneirong=nr;neirong>0;neirong--){//控制内容
intzhongjian=0;//定义最中间的数
if(nr%2!=0){//内容个数除2有余,则除2+1
zhongjian=nr/2+1;
}else{//内容没有余数,则直接除2
zhongjian=nr/2;
}
if(neirong>=zhongjian){//如果内容个数大于中间数,则实行乘法
System.out.print(cheng(chushi)+" ");
chushi=cheng(chushi);
}else{//如果内容小于中间数,则实行除法
System.out.print(chu(chushi)+" ");
chushi=chu(chushi);
}
}
nr=nr-2;//换行,内容个数减少2个
System.out.println();//换行
}
}
}
--------------------------
不知道你明白没。
上面的中间数意思是说告诉程序哪里开始递减。
比如第一行,有11个数字,到第6个数的时候停止再乘3,转向除3,
那怎么得到6?那就用11/2,而这样只能得到5,所以我上面用了判断,如有有余数的话,就加上1,那中间数就得到6了,如果没余数,就直接除2,第二行就是10/2,得到了5,你看看中间是不是第5个丫。
下面我判断如果neirong>=zhongjian如果内容大于中间数的话,就执行乘法,不大于就执行除法。
用实际例子说明:你的例子第一行,有11个数,
那就是
13927812438127931
1110987654321
6以前的都是执行乘法,5以后的都是执行的除法饿。
你自己在仔细看看吧
刚看了这个问题,临时想的方法,可能不怎么好,但是你也可以看一看。

H. java打印金字塔数字,1.2.4.8.16.....这样的数表用for语句应该怎么写啊
classIdeone
{
publicstaticvoidmain(String[]args)throwsjava.lang.Exception
{
inta=10;
for(inti=1,ints=1,inta=10;i==a;i++,i=2*i) System.ouprintln(i);
//yourcodegoeshere
}
}
I. java,输入整数n(1<=n<=9),打印出n行数字金字塔,急急急!!!
package test20201231;
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个1-9之间的整数");
int n = sc.nextInt();
while(n<1 || n>9){
System.out.println("你输入的数字不在0-9之间,或者不是整数,请重新输入");
n = sc.nextInt();
}
for(int i=1;i<=n;i++){
for(int j=n-i;j>0;j--){
System.out.print(" ");
}
for(int j=(i+i-1);j>0;j--){
System.out.print(i);
}
for(int j=0;j<n-i;j++){
System.out.print("");
}
System.out.println();
}
}
}

J. java for循环输出金字塔
每行三部分,前面的空格,中间星号,找出行号跟数量的关系,后面加个换行符。
假设第四行前面一个空格,那么第三行是两个空格,第二行是三个,第一个行是四个。
设行号是X,所以空格数量跟行号的关系是:5-X。
星号的数量就等于:1+(X-1)*2
for(int i=1; i<=4; i++) //最外层for控制第一到第四行输出
{
for(int j=1; j<=5-i; j++){ //控制每行开头的空格输出数量
System.out.print(" ");
}
for(int k=1; k<=1+(i-1)*2; k++) //控制接着空格后面输出的星号数量
{
System.out.print("*");
}
System.out.print("\n"); //每行前两部分输出完了后,输出一个换行符换到下一行。
}