Java 中怎样根据循环的变量数值来控制输出字符串的数目?????
比如说输出一个直角三角形,一般来说要用到两个For循环.我想用一个解决比如for(inti=1;i<=10;i++){???????????????}在问号部分输出*号,...
比如说输出一个直角三角形,一般来说要用到两个For循环.我想用一个解决
比如
for(int i =1;i<=10;i++)
{
???????????????
}
在问号部分输出*号,要求i值是多少就输出多少个,只用这一个For循环,怎么做到??? 展开
比如
for(int i =1;i<=10;i++)
{
???????????????
}
在问号部分输出*号,要求i值是多少就输出多少个,只用这一个For循环,怎么做到??? 展开
4个回答
2013-07-09
展开全部
这个是面试题还是什么 一般都是以2维方法实现的 你不用for可以用其他的while if什么的 但是好像又不是你需要的
楼上的 意思大概是限定行数 类似这个样的
public class Test
{
public static void main(String[] args)
{
String[] a={" "," "," ",""};
String[] b={"*","***","*****","*******"};
for(int i=0;i<4;i++){
System.out.print(a[i]);
System.out.print(b[i]);
System.out.println();
}
}
}
我的想法是这样的
int max=10 //三角形的高
char p='*'; //显示字符
char k=' '; //空白处显示字符
for(int i=0;i <max*max;i++){
int now=i%max; //当前行中的列位置
int rows=i/max+1; //当前的行数(决定了当前的 留白 显示数量)
int kong=(max-row)/2 //左右留白的数量 这个可以省略
if(0==i%5){ system.out.println(); } //换行
if(i <kong �0�7 �0�7 i>(max-kong)){system.out.print(k);}
else{system.out.print(p);}
}
只能给到这样的答案
楼上的 意思大概是限定行数 类似这个样的
public class Test
{
public static void main(String[] args)
{
String[] a={" "," "," ",""};
String[] b={"*","***","*****","*******"};
for(int i=0;i<4;i++){
System.out.print(a[i]);
System.out.print(b[i]);
System.out.println();
}
}
}
我的想法是这样的
int max=10 //三角形的高
char p='*'; //显示字符
char k=' '; //空白处显示字符
for(int i=0;i <max*max;i++){
int now=i%max; //当前行中的列位置
int rows=i/max+1; //当前的行数(决定了当前的 留白 显示数量)
int kong=(max-row)/2 //左右留白的数量 这个可以省略
if(0==i%5){ system.out.println(); } //换行
if(i <kong �0�7 �0�7 i>(max-kong)){system.out.print(k);}
else{system.out.print(p);}
}
只能给到这样的答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-09
展开全部
这个东西好像不是很复杂,直角三角型比较简单,别的不好办了,这个还是好办的。我的思路可能是比较歪门邪道,嘿嘿,要不我叫邪神呢,你先看看我的思路吧,感觉不好就算了。
public class Demo {
public static void main(String[] args) {
String str = "***************************";
//上面决定了最长的边有多少个“*”
int len = str.length();
for(int i = 1 ; i <= len ; i++) {//循环次数根据字符串长度决定
//每次都是从开始截取,但是i的值会不段增加,所以每次循环就会多一个“*”被打出来
System.out.println(s.substring(0, i));
}
}
}
我觉得就这么简单了。
public class Demo {
public static void main(String[] args) {
String str = "***************************";
//上面决定了最长的边有多少个“*”
int len = str.length();
for(int i = 1 ; i <= len ; i++) {//循环次数根据字符串长度决定
//每次都是从开始截取,但是i的值会不段增加,所以每次循环就会多一个“*”被打出来
System.out.println(s.substring(0, i));
}
}
}
我觉得就这么简单了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-09
展开全部
public void pringtTriangle(int count) { //需要输出几个三角形
for (int num = 0; num < count; num++) {
for (int i = 1; i <= 10; i++) {
int j = 1;
while (j <= i) {
System.out.print("*");
j++;
}
System.out.println();
}
}
}
for (int num = 0; num < count; num++) {
for (int i = 1; i <= 10; i++) {
int j = 1;
while (j <= i) {
System.out.print("*");
j++;
}
System.out.println();
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-09
展开全部
在for循环上面定义一个string型变量或者stringbuffer str
for循环里面的代码可以这么些
{
str +="*";
System.out.println(str);
}
以上是以string类型为例的
你看着样行不行呢
for循环里面的代码可以这么些
{
str +="*";
System.out.println(str);
}
以上是以string类型为例的
你看着样行不行呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询