文章目录
第三天作业
1.计算1-100以内所有奇数的和以及所有偶数的和,分别打印出来。
@Test
public void getSum(){
int odd = 0;//奇数
int even = 0;//偶数
for(int i = 1; i <= 100; i++){
if (i % 2 == 0){
even += i;
}else{
odd += i;
}
}
System.out.println(odd);//2500
System.out.println(even);//2500
}
2.用for循环输出1—1000之间能被5整除的数,且每行输出3个
@Test
public void getSum(){
int num = 0;
for (int i = 1; i <= 1000 ; i++) {
if (i % 5 == 0) {
System.out.print(i + " ");
num++;
}
if (num == 3){
System.out.println();
num = 0;
}
}
}
结果展示:
3.计算9的阶乘
@Test
public void getFactorial(){
int product = 1;
for(int i = 1; i <= 9; i++){
product *= i;
}
System.out.println(product);//362880
}
4.使用循环打印100-200之间所有的素数(只能被1和自己整除的数叫素数)
方法一:(普通求解)
@Test
public void ordinaryGetPrimeNumber(){
for(int i = 100; i <= 200 ;i++){
Boolean isPrime = true;
for(int j = 2; j < i ;j++){
if(i % j == 0){
isPrime = false;
break;
}
}
if (isPrime)
System.out.println(i);
}
}
结果展示:
方法二:(优化求解)
@Test
public void getPrimeNumber(){
for(int i = 100; i <= 200 ;i++){
Boolean isPrime = true;
for(int j = 2; j <= Math.sqrt(i) ;j++){
if(i % j == 0){
isPrime = false;
break;
}
}
if (isPrime)
System.out.println(i);
}
}
结果展示:
数组
作业:
1.int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
求出上面数组中0-9分别出现的次数
双重for循环
public void getSum(){
int[] scores={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
int[] getNum = new int[10];
int number;
for (int i = 0; i <= 9; i++) {
number = 0;//计数
for (int j = 0; j < scores.length; j++) {
if(scores[j] == i){
getNum[i] = ++number;
}
}
}
for (int i = 0; i < getNum.length; i++) {
System.out.println(i + "出现: " + getNum[i] + "次" );
}
}
结果展示:
2.判断回文
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。(此处稍作修改,减少麻烦)
@Test
public void isPalindrome(){
char[] array = {'1','2','3','2','1'};
int firstIndex = 0;
int lastIndex = array.length - 1;
Boolean isPalindrome = true;
while(firstIndex < lastIndex){
if (array[firstIndex] != array[lastIndex]){
System.out.println("不是");
isPalindrome = false;
break;
}
firstIndex++;
lastIndex--;
}
if (isPalindrome)
System.out.println("是");
//打印“是”
}
3.输入一行字符串,分别统计出其中英文字母、空格、数字和其它字符的个数。
@Test
public void count(){
String str = "hello world 123546 /.,.";
int cases = 0;
int numbers = 0;
int space = 0;
int elses = 0;
for(int i = 0; i < str.length(); i++){
if (str.toLowerCase(Locale.ROOT).charAt(i) >= 'a' && str.toLowerCase(Locale.ROOT).charAt(i) <= 'z'){
cases++;
}else if(str.charAt(i) >= '1' && str.charAt(i) <= '9'){
numbers++;
}else if(str.charAt(i) == ' '){
space++;
}else{
elses++;
}
}
System.out.println("字母" + cases + "数字" + numbers + "空格" + space + "其他" + elses);
}
结果展示: