2021年12月27日
求最大公约数和最小公倍数
import java.util.Scanner;
class maxDivisorAndminMultiple
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.println("输入第一个数:");
int m = input.nextInt();
System.out.println("输入第二个数:");
int n = input.nextInt();
//最大公约数
int min = (n >= m)? m : n;
for (int i = min; i >= 1 ; i--)//从最大的公约数往回减,不然无法体现break的停止。
{
if(m % i == 0 && n % i == 0)
{
System.out.println("最大公约数是:" + i);
break;
}
}
//最小公倍数
int max = (n >= m)? n : m;
for (int j = max; j <= m * n; j++ )//其实可以使用i,因为for循环是独立的。
{
if(j % m == 0 && j % n == 0)
{
System.out.println("最小公倍数是:" + j);
break;
}
}
}
}
2021年12月28日
打印1-100之间所有7的倍数的整数的个数及总和(体会设置计数器的思想)
import java.util.Scanner;
class theMultipleOfSeven
{
public static void main(String[] args)
{
int sum = 0;
int count = 0;
for(int i = 1; i <= 100; i++)//把i <= 100写成1 <= 100,进入无限加的状态。
{
if(i % 7 == 0)
{
System.out.println(i);
sum += i;
++count;//这里count++和++count是一样的,一般都写成count++。
}
}
System.out.println("sum = " + sum);
System.out.println("count = " + count);
}
}
2021年12月29日
循环结构四要素①初始化条件、②循环条件、③循环体、④迭代条件
- while循环的结构
- ①
- while(②)
- {
- ③;
- ④;
- }
- 执行过程①-②-③-④-②-③-④-...-②
- 说明:
- 写while循环千万不要丢了迭代条件。一旦丢了,就可能导致死循环!
- 我们写程序,要避免出现死循环。
- for循环和while循环是可以相互转换的!
- 区别:for循环和while循环的初始化条件部分的作用范围不同。for是初始化只在作用域内有效,while初始化全局有效。
- 算法:有限性
- do-while循环的结构
- ①
- do{
- ③;
- ④;
- }while(②);
- 执行过程①-③-④-②-③-④-...-②
- 说明:
- do-while循环至少会执行一次循环体!
- 开发中,使用for和while更多一些。较少使用do-while
class differenceDowhileAndWhile
{
public static void main(String[] args)
{
int i = 3;//如果初始化为11,则整个程序不执行。
while (i <= 10)
{
System.out.println("while " + i);
i++;//i++写在打印前面,输出2-11
}
int j = 3;//如果初始化为11,还会输出一次11,如果初始化满足条件于while无区别。
do
{
System.out.println("do-while " + j);
j++;
}
while (j <= 10);
}
}
2021年12月30日
遍历100以内的偶数,并降偶数相加、记次数。
class evenNumberTest
{
public static void main(String[] args)
{
int num = 1;
int sum = 0;
int count = 0;
while(num <= 100)
{
if (num % 2 == 0)
{
System.out.println(num);
count++;
sum += num;
}
System.out.println("everyNumber: " + num);//打印每一个数
num++;
System.out.println();//打印换行。
}
System.out.println("sum = " + sum);
System.out.println("count = " + count);
}
}
2021年12月31日
从键盘读入个数不确定的整数,并判断读入的整数和负数的个数,输入为0时结束程序。
说明:
- 不在循环条件部分循环限制次数的结构:for(;;) 或 while(true)
- 结束循环有几种方式?
- 方式一:循环条件部分返回false
- 方式二:在循环体中,执行break
import java.util.Scanner;
class whileTrue
{
public static void main(String[] args)
{
int positivenumber = 0;//不能写入循环体。
int negativenumber = 0;//不能写入循环体。
while (true)
{
Scanner input = new Scanner(System.in);
System.out.println("输入数字:");
int num = input.nextInt();
if(num > 0)
{
positivenumber++;
}
else if(num < 0)
{
negativenumber++;
}
else//不能写=0,是赋值语句。
{
System.out.println("The end.");
break;
}
}
System.out.println("the positivenumber is: " + positivenumber);
System.out.println("the negativenumber is: " + negativenumber);
}
}