此题是在牛客网上java初级语法题,由于我写的时候很困难所以就整理了。会不定时日常添砖加瓦。
1.在不使用第三个变量的情况下交换两个int类型变量的值
输入描述:
a变量和b变量的值
输出描述:
交换后a变量和b变量的值,中间用空格隔开
int a = scanner.nextInt();
int b = scanner.nextInt();
a=a+b;
b=a-b;
a=a-b;
System.out.println((a)+" "+(b));
2.数列求和
有数列为:9,99,999,…,9999999999。要求使用程序计算此数列的和,并在控制台输出结果。(请尝试使用循环的方式生成这个数列并同时在循环中求和)
public class Main {
public static void main(String[] args) {
long sum = 0;
long base = 9; //以9为基数
for(int i = 0; i < 10; i++){ //一共十个数字
sum += base; //累加数列
base = base * 10 + 9; //当前数列乘10加9就是下一个数列
}
System.out.println(sum);
}
}
3.最小公倍数问题
import java.util.*;
public class Main {
public static void main(String[] args) {
//标准输入
Scanner console = new Scanner(System.in);
int m = console.nextInt();
int n = console.nextInt();
//计算最小公倍数
int result = getCM(m, n);
//输出结果
System.out.println(result);
}
//计算最小公倍数
public static int getCM(int m, int n){
//计算m、n中较大者
int max=Math.max(m,n);
//从max到m*n之间找最小公倍数
for(int i=max;i<=m*n;i++){
//如果既能被m整除又能被n整除,说明是最小公倍数,直接返回
if(i%m==0&&i%n==0){
return i;
}
}
return -1;
}
}