Java 中怎样根据循环的变量数值来控制输出字符串的数目?????

比如说输出一个直角三角形,一般来说要用到两个For循环.我想用一个解决
比如
for(int i =1;i<=10;i++)
{
???????????????
}

在问号部分输出*号,要求i值是多少就输出多少个,只用这一个For循环,怎么做到???

第1个回答  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);}
}
只能给到这样的答案
第2个回答  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));
}
}
}
我觉得就这么简单了。
第3个回答  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();
}
}
}本回答被网友采纳
第4个回答  2013-07-09
在for循环上面定义一个string型变量或者stringbuffer str
for循环里面的代码可以这么些
{
str +="*";
System.out.println(str);
}
以上是以string类型为例的
你看着样行不行呢

java中如何随机生成一个已知长度的字符串 要用一个for循环控制输出的...
先封装一个输出单一字符的方法,然后放入for循环中,用for循环每次的key值来判断对这个封装的方法调用的次数

java中如何控制输出数字位数
System.out.printf("%s",s);\/\/"d"表示输出字符串。System.out.printf("输出一个浮点数:%f,一个整数:%d,一个字符串:%s",d,i,s);\/\/可以输出多个变量,注意顺序。System.out.printf("字符串:%2$s,%1$d的十六进制数:%1$#x",i,s);\/\/"X$"表示第几个变量。

Java while的循环条件是猜出来的数字不等于随机数,但是在while括号里...
在while循环语句里面添加if判断,,if(n == rd){break;},,不过你写的有问题:①因为你在while语句外边给n赋值,但是在while循环里面却没有,所以应该把 n = sc.nextInt();放入while循环中,并且添加我刚才说的if判断 ②你的随机数rd只是个对象,rd.nextInt(100)这样才能获取100以内的随机值 ...

在java中,怎么使用数组进行逆顺序在控制台输出字符串?
TestStr.java文件,handleStr方法是进行逆向的功能,其他都是作了一个界面,为了方便测试。import javax.swing.*;import java.awt.*;import java.awt.event.*;\/ author Administrator \/ public class TestStr extends JFrame implements ActionListener{ JTextField txtInput=new JTextField("请输入字符串"...

java中使用System.out.println如何输出多个变量?
方法为:System.out.println(变量一+变量二+变量三+... +变量N)。至于将数值转换为String类型,有个简单的方法,即在每个数值后加上[ +“”] 中括号中的部分即可,如下面代码:如下面代码:int i=0;int j=0;nt k=0;int l=0;System.out.println(i+""+j+""+k+""+l);这样就输出的...

java怎么获取另一个程序在控制台的输出?
将你要获取的类输出的内容存放在一个变量中,比如你输出的是一个字符串,那么久创建一个String对象来存放输出结果,就不要使用sysout输出了,然后在你要调用这个结果的类中,使用以下几种方法 继承方法,直接继承那个类,然后通过向下转型的方法,声明类,然后就可以用声明的对象去调用那个值了 直接用new来调用...

java中,循环遍历输出二维数组正常,用Arrays.toString()方法输出显示的...
可以进入到Arrays.toString里面看源码,因为c是二维数组,所以这里的a[i]就是一个数组,并不是一个实际的数。然后每次执行String.valueOf(a[i])方法。然后进入源码String类里面的valuefOf方法。在valueOf里面调用的是obj.toString()方法,这里返回的字符串格式就是你控制台输出的样式。

我说我精通字符串,面试官竟然问我Java中的String有没有长度限制!?| 附...
在将BASE64编码后的内容赋值给字符串的时候就抛了异常。总结来说,字符串有长度限制,在编译期,要求字符串常量池中的常量不能超过65535,并且在javac执行过程中控制了最大值为65534。在运行期,长度不能超过Int的范围,否则会抛异常。最后,这个知识点,我录制了视频,其中有关于如何进行实验测试、如何...

java怎么输出?
一般不常用write()来完成向控制台的输出(尽管这样做在某些场合非常有用),因为print()和println() 更容易用。 四、PrintWriter类 尽管Java允许用System.out向控制台写数据,但建议仅用在调试程序时或在例程中。对于实际的程序,Java推荐的向控制台写数据的方法是用PrintWriter流。PrintWriter是基于字符的类。用基于字符...

Java中怎样动态去给一个变量赋值?我是一个初学者,请大家多多指教!_百 ...
② message:指示要在对话框内显示的描述性的文字 ③ String title:标题条文字串。④ Component:在对话框内要显示的组件(如按钮)⑤ Icon:在对话框内要显示的图标 ⑥ messageType:一般可以为如下的值ERROR_MESSAGE、INFORMATION_MESSAGE、WARNING_MESSAGE、QUESTION_MESSAGE、PLAIN_MESSAGE、⑦ optionType...

相似回答