java毕向东String类练习作业:按照长度递减获取字符串
“itcast_sh”要求:将该字符创按照长度由长到短打印出来
- itcast_sh
- itcast_s tcast_sh
- itcast_ cast_sh tcast_s
- itcast cast_s ast_sh
利用三角形的原理使用for嵌套循环和九九乘法表同理
public class Demo{
public static void main(String[] args){
nineNine();
}
public static void nineNine() {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j+"x"+i+"="+(j*i)+" ");
}
System.out.println();
}
}
}
外循环控制行数,内循环控制列数
每一行的每一列里其实是有两个变量组成的。左边减右边。左边的值在每一行的第一列上都是0.说明里面有个变量初始化值是0.右边也是个变量,所以右边在定义一个变量,右边的length减去的值,发现是随着x变化的,所以减去x。右边都是length意味着 :z不断在增加时,只要是小于等于length都行。
public class Demo{
public static void main(String[] args){
String str = "itcast_sh";
printStringByLength(str);
}
public static void printStringByLength(String str) {
for (int i = 0; i < str.length(); i++) {
for (int start =0, end = str.length()-i; end <= str.length(); start++,end++) {
String temp = str.substring(start, end);
System.out.print(temp+" ");
}
System.out.println();
}
}
}