双层for循环
package javaseday03;
import java.util.Scanner;
import org.junit.Test;
public class doublefor {
九九乘法表
/**
* 11=1 12=2 22=4 …
*
*
*
*
* 19=9 … 9*9=81
*/
@Test
// 双层for循环
public void myTest01() {
for (int i = 1; i <= 90; i++) {// 外层
for (int j = 1; j <= i; j++)// 内层
{
int sum = i * j;
System.out.print(j + "*" + i + "=" + sum + " ");
}
System.out.print("\n");
}
}
循环的中断break—> game over—>循环彻底终止
continue—>这次不行,进行下一次—>跳过当前本次,执行下一次
1-100之间的数累加,加到666终止打印1-***的和大于等于666
@Test
public void myTest02() {
int sum = 0;
for (int i = 0; i <= 100; i++) {
sum += i;
if (sum >= 666)
System.out.println("sum=" + sum);
System.out.println("1到"+i+"的和大于等于666");
break;
}
}
@Test
public void myTest03() {
//求1-100之间的偶数和
for(int i=0;i<=100;i++)
{
if(i==5)
{
continue;
}
System.out.println(i);
}
}
@Test
public void test04(){
outer: for (int i = 0; i < 10; i++) {
System.out.println("外层"+i);
inner: while (true) {//给循环加标签
Scanner sc = new Scanner(System.in);
System.out.println("请输入:");
String s = sc.next();
System.out.println("里层:" + s);
if (s.equals("hello"))
break inner;
if (s.equals("kitty"))
break outer;
}
}
}
@Test
public void test05(){
label1: for (int i = 0; i < 10; i++) {
System.out.print("\n");
for (int j = 0; j < 10; j++) {
System.out.print(j + " ");
if (j == 5) {
continue label1;
}
}
}
}
求9和12的最大公约数
@Test
public void test06(){
for(int i=9;i>=1;i--)
{
if(9%i==0&&12%i==0)
{
System.out.println(i+"是最大公约数");
break;
}
}
}
从1-100报数 逢7和7的倍数跳过
@Test
public void test07(){
for(int i=1;i<=100;i++)
{
//个位上是7或者十位是7或者被7整除
if(i%7==0||i/1%10==7||i/10%10==7)
{
System.out.println("应该跳过:"+i);
continue;
}
System.out.println("应该报:"+i);
}
}
百元百鸡问题
母鸡3元一只i,公鸡4元/只j,小鸡0.5/只花费100元买100只,每一只鸡可以买多少只,多少种可能
@Test
public void test08(){
double sum=0;
for(int i=0;i<=34;i++)
{
for(int j=0;j<=25;j++)
{
int k=100-i-j;
sum=3*i+4*j+0.5*k;
if(sum==100)
{
System.out.println("买"+i+"只母鸡"+" "+"买"+j+"只公鸡"+" "+"买"+k+"只小鸡");
}
}
}
}
}