黑马程序员技术交流社区
标题:
老师的作业 不会做 有能搞定的吗?大牛
[打印本页]
作者:
zhouzhou
时间:
2015-5-14 20:19
标题:
老师的作业 不会做 有能搞定的吗?大牛
输出 n=6 的三角数字阵
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21
这个初级的能搞定吗?
捕获.PNG
(5.06 KB, 下载次数: 40)
下载附件
2015-5-14 20:18 上传
作者:
pvbj0314
时间:
2015-5-14 20:37
应该先考虑如果你要写这么个字阵需要知道哪些条件吧?
作者:
小风1993
时间:
2015-5-14 20:42
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int sum=1;
for(int i=1;i<=a;i++){
for(int j=0;j<i;j++){
System.out.print(sum+++" ");
}
System.out.println();
}
}
}
复制代码
虽然我不相信你不会做,但是我还是做了一下
作者:
shentan000
时间:
2015-5-14 20:42
看看~~~支持
作者:
夕阳的刻痕
时间:
2015-5-14 21:07
你又来水了。。。
作者:
shao122791159
时间:
2015-5-14 21:10
本帖最后由 shao122791159 于 2015-5-14 21:16 编辑
虽然我也不相信你不会做,但是我也跟着做了一下 void run()
{
int k = 1;
for (int i=0;i<6 ;i++ )
{
for (int j=0;j<=i ;j++ )
{
System.out.print(k+"\t ");
k++;
}
System.out.println();
}
}
作者:
我干阿衰
时间:
2015-5-14 21:14
别水别水。。。。。。。。。。。。。。。。
作者:
tanzhixue
时间:
2015-5-14 21:26
太水了 吧 哈哈
作者:
yapo
时间:
2015-5-14 21:27
方法一:
public class Test {
public static void main(String[] args) {
int z = 0; //定义计数器z,z就是我们要打印的数
for(int i =1; i <= 6;i++)//外循环控制打印的行数(6行)
{
for(int j = 1; j <= i; j++)//内循环控制没行打印个数
{
System.out.print(++z+"\t");//z每打印一次值增加1,每行是数量是j,打印j此换行
}
System.out.println("");
}
}
}
方法二:
例如:
x为行数, f(x)为每一行的最大值
f(x)-f(x-1)=x
f(x-1)-f(x-2)=x-1
f(2)-f(1)=2
用数学叠加方法可以计算出:(x*x-x+2)/2为第x行的最小值,(x*x+x)/2为第x行的最大值
for(int x=1;x<=6;x++) //打6行
{
for (int y=(x*x-x+2)/2;y<=((x*x+x)/2);y++ ) //每行从最小值打到最大值
{
System.out.print(y+"\t");
}
System.out.println();
作者:
Super_Nos
时间:
2015-5-14 21:27
Scanner sc = new Scanner(System.in);
int n, num;
while(sc.hasNext()){
n = sc.nextInt();
num = 1;
flag:
for(int i = 1; ; i ++){
for(int j = 0; j < i; j ++){
System.out.print((num ++) + "\t");
if(num > n)
break flag;
}
System.out.println();
}
}
作者:
wangyu
时间:
2015-5-14 21:36
直接一排输出语句 简单易懂的搞定它
作者:
fenglinluomu
时间:
2015-5-14 21:40
水经验呀
作者:
赵旗
时间:
2015-5-14 21:58
这个很简单好吧
作者:
gaoer
时间:
2015-5-14 22:07
有点水啊 ,,,,,
作者:
黑马LM
时间:
2015-5-14 22:08
自己好好想想
作者:
魔蝎座
时间:
2015-5-14 22:10
在for循环外面定义一个变量,初始值为1,再利用打印三角形的原理定义两个for循环,打印这个变量,每打印一次就++一次
作者:
虎鹏
时间:
2015-5-14 22:28
虽然有点......但是加油啊
作者:
牛仔很忙fire
时间:
2015-5-14 22:44
3楼正解
作者:
!85684009ex
时间:
2015-5-15 21:39
一点不难!有分我就告诉你!!!!
作者:
397543420
时间:
2015-5-15 21:47
0508的兄弟??????????
作者:
cai937346660
时间:
2015-5-15 21:50
能不能不这么水经验啊- -
作者:
杨海林
时间:
2015-5-15 21:56
......................
作者:
黄冬
时间:
2015-5-15 22:01
学习了。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2