2023.01.04,10道练习题,关于方法的定义、方法调用与实现
整理完才发现已经到了1月5号了,一不小心又熬到第二天了
狗命要紧,先碎觉辽*^*
Java方法的详细学习笔记明天更新(包含方法的定义、方法调用与实现、方法重载、方法递归)
方法练习题
1 编写一个方法,接收两个整数作为参数,返回这两个整数的和。
package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
public static void main(String[] args) {
System.out.println("请输入两个整数");
//java.util.Scanner input=new java.util.Scanner(System.in);
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
int sum=add(a,b);
System.out.println("两个整数的和为:"+sum);
}
public static int add(int a,int b){
return (a+b);
}
}
package JavaseDemo;
public class Demo010401 {
public static void main(String[] args) {
System.out.println("请输入两个整数");
java.util.Scanner input=new java.util.Scanner(System.in);
int a = input.nextInt();
int b = input.nextInt();
System.out.println("两个数的和是"+add(a,b));
}
public static int add(int a,int b){
return a+b;
}
}
2 编写一个方法,接收一个整数,输出这个整数的所有因子。
package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
public static void main(String[] args) {
System.out.println("请输入一个整数");
Scanner input = new Scanner(System.in);
int num = input.nextInt();
yz(num);
}
public static void yz(int n){
for (int i = 1; i <=n; i++) {
if (n%i==0){
System.out.print(i+"\t");
}
}
}
}
3 编写一个方法,接收一个整数n,输出1+2+3+…+n 的和。
package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数");
int n = input.nextInt();
System.out.println(("和为"+add(n));
}
public static int add(int m){ //add(n)赋值给add(int m)
int sum = 0;
for (int i = 1; i <=m ; i++) {
sum+=i;
}
return sum;
}
}
4 编写一个方法,接收一个整数参数n,输出n 个HelloWorld。
package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
public static void main(String[] args) {
System.out.println("请输入一个整数");
Scanner input = new Scanner(System.in);
int n= input.nextInt();
result(n);
}
public static void result(int m){
for (int i = 1; i <= m ; i++) {
System.out.println("HelloWorld");
}
}
}
5 编写一个方法,接收一个整数,输出这个整数是几位数。
package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
public static void main(String[] args) {
System.out.println("请输入一个整数");
Scanner input = new Scanner(System.in);
int n= input.nextInt();
System.out.println("这个数是"+result(n)+"位数"); //m:n
}
public static int result(int m){
int count = 0;
while (m!=0){
m=m/10;
count++;
}
return count;
}
}
6 验证哥德巴赫猜想:
任何一个大于6的偶数,都能分解成两个质数的和。要求输入一个整数,输出这个数能被分解成哪两个质数的和。
eg : 14
14=3+11
14=7+7
方法1:
package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
public static void main(String[] args) {
System.out.println("请输入一个整数");
Scanner input = new Scanner(System.in);
int n= input.nextInt();
for(int i = 1;i <= n/2;i++){
int j = n - i;
if(isZhiShu(i) && isZhiShu(j)){
System.out.println(n+"="+i+"+"+j);
}
}
}
public static boolean isZhiShu(int m){
boolean flag = true;
for (int i = 2; i < m; i++) {
if(m%i==0) {
return false;
}
}
return flag;
}
}
方法2:
import java.util.Scanner;
// 验证哥德巴赫猜想::任何一个大于6的偶数,都能分解成两个质数的和
public class Demo010401 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数:");
int n = scanner.nextInt();
for(int i = 1;i <= n/2;i++){
int j = n - i;
if(isZhiShu2(i) && isZhiShu2(j)){
System.out.println(n+"="+i+"+"+j);
}
}
}
// 判断一个数是否为质数,这个用到了Java Math.sqrt()方法
public static boolean isZhiShu2(int n) {
boolean falg = true;// 初始化falg为true
if (n < 3) {// 2,3为最小的质数
falg = n > 1;
}
for (int i = 2; i <= Math.sqrt(n); i++) {//Math.sqrt(n) 为n的开方,如16的开方为4
if (n % i == 0) {
falg = false;
}
}
return falg;
}
}
7 课堂练习
7.1 输入一个数字使用方法计算1-这个数字的和,并返回结果。
package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数");
int n= input.nextInt();
System.out.println("结果是:"+sum(n));
}
public static int sum(int m) {
int sum = 0;
for (int i = 0; i <=m ; i++) {
sum+=i;
}
return sum;
}
}
7.2 使用方法输出100~200之间能被3整除的数。
package JavaseDemo;
public class Demo010401 {
public static void main(String[] args) {
allNum();
}
public static void allNum(){
for (int i = 100; i <=200; i++) {
if (i%3==0){
System.out.println(i);
}
}
}
}
7.3 使用方法判断一个数是否为素数。
package JavaseDemo;
import java.util.Scanner;
public class Demo010401 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个数");
int n = input.nextInt();
isPrime(n);
}
//使用方法判断这个数是否为素数
public static void isPrime(int m){
boolean flag=true;
for(int i=2;i<m;i++) {
if (m % i == 0) {
flag = false;
break;
}
}
if (flag){
System.out.println(m+"是素数");
}else
System.out.println(m+"不是素数");
}
}
7.4 使用方法求1-100之间可以被7整除的数的个数。
package JavaseDemo;
public class Demo010401 {
public static void main(String[] args) {
System.out.println(getCount());
}
public static int getCount(){
int count = 0;
for (int i = 1; i <=100 ; i++) {
if (i%7==0){
count++;
}
}
return count;
}
}