最大公约数和最小公倍数
/*
题目:输入两个正整数m和n,求其最大公约数和最小公倍数
比如:12和20的最大公约数是4,最小公倍数是60
说明:break关键字的使用
*/
import java.util.Scanner;
public class 最大公约数和最小公倍数 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入第一个整数:");
int m=scan.nextInt();
System.out.println("请输入二个整数:");
int n=scan.nextInt();
//最大公约数一定小于两个数中小的数
//先取m、n中较小的数
int min=(m<=n)?m:n;
for(int i=min;i>=1;i--)
{
if(m%i==0&&n%i==0) {
System.out.println("最大公约数为"+i);
break;
}
}
//最小公倍数一定大于两个数中大的数
//先取m、n中较大的数
int max=(m>=n)?m:n;
for(int i=max;i<=m*n;i++)
{
if(i%m==0&&i%n==0) {
System.out.println("最小公倍数为"+i);
break;
}
}
}
}
**经典题
for(int i=0;i<5;i++) {
for(int j=0;j<5-i;j++) {
System.out.print(" ");
}
for(int m=0;m<i+1;m++) {
System.out.print("* ");
}
System.out.println();
一百以内的质数
boolean isFlag=true;
for(int i=2;i<=100;i++)
{
//每次判断前先重置isFlag
isFlag=true;
for(int j=2;j<i;j++)
{
// if(i%j!=0) //不能这样判断的原因是i必须满足每一个j i%j!=0,这里仅仅是一个 也就说一旦有了i%j==0 它就不是负数
// System.out.println(i);
if(i%j==0) {
isFlag = false;
}
}
//循环完每一个j,如果都没有i%j==0,则为质数
if(isFlag==true)
{
System.out.println(i);
}
}
杨辉三角形(二维数组)
调用指定位置的元素
- 前期准备
String[][] arr3=new String[3][];
arr3[1]=new String[4];
System.out.println(arr3[1][0]);
/*
使用二维数组打印一个10行杨辉三角
【提示】
1.第一行有1个元素,第n行有n个元素
2.每一行的第一个元素和最后一个元素都是1
3.从第三行开始,对于非第一个元素和最后一个元素的元素。即:
yanghui[i][j]=yuanhui[i-1][j-1]+yanghui[i-1][j]
[0]1
[1]1 1
[2]1 2 1
[3]1 3 3 1
[4]1 4 6 4 1
[5]1 5 10 10 5 1
...
[10]
*/
//1.声明并初始化二维数组
//只能确定行数,[10][]
int[][] yanghui=new int[10][];
//2.赋值
// yanghui[0]=new int[1];
// yanghui[1]=new int[2];
// yanghui[2]=new int[3];
// yanghui.length是行数,yanghui[i].length是每行列数
for(int i=0;i<yanghui.length;i++)
{
yanghui[i]=new int[i+1];
//2.1给首末元素赋值
yanghui[i][0]=yanghui[i][i]=1;
//2.2给非首末元素赋值
if(i>1)
for(int j=1;j<yanghui[i].length-1;j++) {
yanghui[i][j] = yanghui[i - 1][j - 1] + yanghui[i - 1][j];
}
}
//3.遍历二维数组
for(int i=0;i<yanghui.length;i++)
{
// for(int j=0;j<i;j++)
for(int j=0;j<yanghui[i].length;j++)
{
System.out.print(yanghui[i][j]+" ");
}
System.out.println();
}
随机数的产生
//获取一个随机数10-99
//Math.random();[0,1)
//公式[a,b]:(int)(Math.random()*(b-a+1)+a)
int value=(int)(Math.random()*90+10);
System.out.println(value);
switch表达式中不能放boolean型变量
byte、short、char、int 枚举类型 String类型
|