问题
- 1.设计代码,要求输入两个数,获得最大公约数和最小公倍数
- 2.while的循环结构和dowhile的循环结构
- 3.记录正负数的个数
- 4.9✖9乘法表
- 5.输出100以内的质数
- 6.如何通过System获取当时间?
- 7.循环结构是如何最后退出循环的,有哪些不同的情况说明?
- 8.一个数如果恰好等于它的因子之和,这个数就称为"完数"。编写找出1000以内的所有完数。
- 9.eclipse使用时候需要做的设置
- 10.快捷键的含义
- 11.叙述数组的定义是什么?
- 12.创建数组是否为连续的?数组长度确定之后是否可以修改?
- 13.一维数组是如何进行静态初始化和动态初始化的
- 14.数组的默认初始值是多少?
- 15.回忆内存的简化结构
- 16.一维数组创建过程
1.设计代码,要求输入两个数,获得最大公约数和最小公倍数
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入第一个数:");
int num1=scan.nextInt();
System.out.println("请输入第二个数:");
int num2=scan.nextInt();
int min=(num1<=num2?num1:num2);
for(int i=min;i>=1;i--) {
if(num2%i==0&&num1%i==0) {
System.out.println("最大公约数是:"+i);
break;
}
}
int max=(num1>=num2)?num1:num2;
for(int i=max;i<=num1*num2;i++)
{
if(i%num1==0&&i%num2==0) {
System.out.println("最小公倍数:"+i);
break;
}
}
}
方法二
class Num {
private Integer maxTemp;
private Integer minTemp;
public Integer getMaxTemp() {
return maxTemp;
}
public void setMaxTemp(Integer maxTemp) {
this.maxTemp = maxTemp;
}
public Integer getMinTemp() {
return minTemp;
}
public void setMinTemp(Integer minTemp) {
this.minTemp = minTemp;
}
@Override
public String toString() {
return "Num{" +
"maxTemp=" + maxTemp +
", minTemp=" + minTemp +
'}';
}
}
public class Test {
public static void main(String[] args) {
Test test=new Test();
System.out.println(test.getGCD(12,25));
System.out.println(test.getGCD(11,121));
System.out.println(test.getGCD(145,144));
System.out.println(test.getLCM(11,121,test.getGCD(11,121)));
}
public Integer getLCM(Integer num1, Integer num2,Integer gcd){
if(num2%num1==0){
return num2;
}
return num1*num2/gcd;
}
public Integer getGCD(Integer num1, Integer num2) {
Num num=setNum(num1,num2);
while (num.getMaxTemp()%num.getMinTemp()!=0){
num1=num.getMaxTemp()-num.getMinTemp();
num=setNum(num1,num.getMinTemp());
}
return num.getMinTemp();
}
public Num setNum(Integer num1, Integer num2) {
Num num = new Num();
if (num1 > num2) {
num.setMaxTemp(num1);
num.setMinTemp(num2);
} else {
num.setMaxTemp(num2);
num.setMinTemp(num1);
}
return num;
}
}
2.while的循环结构和dowhile的循环结构
while(){
}
do{
}
while();
3.记录正负数的个数
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入一个数,如果结束,请输入0:");
int num=scan.nextInt();
int positiveNumber=0;
int negativeNumber=0;
while(num!=0)
{
if(num>0)
positiveNumber++;
else
negativeNumber++;
System.out.println("请输入下一个数,如果结束,请输入0:");
num=scan.nextInt();
} System.out.println("输入结束\n您一共输入了"+positiveNumber+"个正整数和"+negativeNumber+"个负整数");
}
4.9✖9乘法表
public static void main(String[] args) {
for(int i=1;i<=9;i++) {
for(int j=1;j<=i;j++)
System.out.print(i+"*"+j+"="+i*j+" ");
System.out.println();
}
}
5.输出100以内的质数
public static void main(String[] args) {
boolean isFlag=true;
for(int i=2;i<=100;i++) {
for(int j=2;j<=Math.sqrt(i);j++){
if(i%j==0){
isFlag=false;
break;
}
}
if(isFlag) {
System.out.println(i);
}
isFlag=true;
}
}
6.如何通过System获取当时间?
long start=System.currentTimeMillis();
7.循环结构是如何最后退出循环的,有哪些不同的情况说明?
①循环条件返回false
②在循环体内,一旦执行到break,跳出循环
8.一个数如果恰好等于它的因子之和,这个数就称为"完数"。编写找出1000以内的所有完数。
public static void main(String[] args) {
for(int i=1;i<=1000;i++) {
int factor=0;
for(int j=1;j<=i/2;j++) {
if(i%j==0)
factor+=j;
}
if(i==factor) {
System.out.println(i);
}
}
}
9.eclipse使用时候需要做的设置
1.设置字符集:Window->preference
2.通过Window->preference->codeTemp设置文档注释
3.设置创建默认选项:Window->Perspective->Customize Perspective->Menu Visibility
10.快捷键的含义
1.ALT/ :补全
2.SysoALT/ :补全(System.out.println()😉
3.Ctrl+点击:查看源代码
4.Ctrl+O:查询
5.Ctrl+Shift+o:导入包
6.Shift+回车:下一行
7.Ctrl+Shift+回车:上面空出一行
11.叙述数组的定义是什么?
数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。
12.创建数组是否为连续的?数组长度确定之后是否可以修改?
1.创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址。
2.数组的长度一旦确定,就不能修改。
13.一维数组是如何进行静态初始化和动态初始化的
声明:int[] ids;//int[]格式也可以
静态初始化:ids=new int[]{1001,1002,1003,1004};//基本类型可以省略new int[]
动态初始化:String[] names=new String[5];
14.数组的默认初始值是多少?
整型:0
浮点型:0.0
char型:0或’\u000’
boolean:false
引用数据类型:null