一、控制台打印成金字塔形排列数字输出
package exercise;
import javax.swing.JOptionPane;
public class PrintPyramid {
public static void main(String[] args) {
String intNum=JOptionPane.showInputDialog("请输入行数(<=15):");
int num=Integer.parseInt(intNum);
if(num<1||num>15){
JOptionPane.showMessageDialog(null, "您的输入范围有误");
System.exit(0); //如果输入数值不在范围内则结束程序
}
for(int row=1;row<=num;row++){ //在最外层从第一行依次循环到最后一行
for(int hangshu=1;hangshu<=num-row;hangshu++)
//每一行分为三部分,第一部分是空格,根据行数确定前面的空格,第几行就减少多少个空格
System.out.print(" ");
for(int lingtou=row;lingtou>=1;lingtou--)
//第二部分是依次递减的数字,例如3.2.1,最大的数,即等于行数,从这个数值开始递减
System.out.print((lingtou>=10)?" "+lingtou:" "+lingtou);
for(int weishu=2;weishu<=row;weishu++)
//第三部分是从2开始的递增数字,增加到最大数值,即行数截止
System.out.print((weishu>=10)?" "+weishu:" "+weishu);
System.out.println(); //表示每一行的循环结束,进入下一行,跟换行符号\n不同
}
}
}
二、break outer的使用
package exercise;
public class BreakOuter {
public static void main(String[] args) {
outer:
for(int i=1;i<10;i++){
inner:
for(int j=1;j<10;j++){
if(i*j>50)
break outer;
//当执行到6x8以后再进行到6x9时检测到乘积大于50,于是跳出到两个for外面outer:的位置,整个循环结束
System.out.println(i*j);
}
}
}
}
网友评论