今天是周二,开始补JAVA的基础了。哈哈,这两天做这些小练习感觉还挺有意思的,当时怎么没做呢?现在做被人看见真丢人啊。导师还是叫我写那个页面,我觉得好难写啊,怎么办呢,和他说了他也不理。继续补基础吧,基础不牢地动山摇。好困好困,我去洗洗睡觉吧,今天就到这里了,明天又周三了,还是挺快的。
import java.util.Scanner;
public class JudgeIsLeapYear{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int year = in.nextInt();
isLeapYear(year);
}
private static void isLeapYear(int year){
if(year< 0){
System.out.println("error");
}
else{
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)){
System.out.println("is Leap year");
}
else{
System.out.println("is not Leap year");
}
}
}
}阶乘(这个有点丢人了)
import java.util.Scanner;
public class factorial{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
//输入的数字为int类型,输出long
long number = in.nextInt();
long i = number - 1;
while(i > 0){
number = number * i;
i--;
}
System.out.println(number);
}
}public class CalculateIncome{
public static void main(String[] args) {
int income = 1;
int incomeSum = 1;
for(int i = 2;i <= 10;i++){
income = income * 2;
incomeSum = incomeSum + income;
}
System.out.println(incomeSum);
}
}public class JumpOver{
public static void main(String[] args) {
int MAX_VALUE = 101;
for(int i = 1;i < MAX_VALUE;i++){
if(i % 3 == 0 || i % 5 ==0){
continue;
}
System.out.print(i+" ");
}
}
}理解题意?第一年有没有1W2呢,如果有的话就是15年,具体晚上回去看看讲解吧。讲解出来了,一开始做的时候n++放的位置不对,导致输出的n大了一个。应该将n++放在break语句后面,如果break掉了就不用加1了。讲解的方法看起来有点麻烦,仅供参考吧。
/**
* 假设你月收入是3000,除开平时花销,每个月留下1000块钱进行投资。
*
* 然后你认真的钻研了 《股票和基金21天从入门到精通》,达到了每年20%的投资回报率。
*
* 那么问题来了,以每个月投资1000块钱的节奏,持续投资多少年,总收入达到100万
* (复利计算按照每年12000投入计算,不按照每月计息)
* 复利公式:
* F = p* ( (1+r)^n );
* F 最终收入
* p 本金
* r 年利率
* n 存了多少年
*/
public class Millionaire{
public static void main(String[] args) {
int p = 12000;
double r = 0.2;
double f = 0;
int targetValue = 1000000;
int sum = 0;
int n = 0;
//n为年份初始值
while(true){
f = p * (Math.pow((1+r),n));
sum += f;
if(sum > targetValue){
break;
}
n++;
}
System.out.println(n);
}
}
京公网安备 11010502036488号