朝花夕拾 Java练习1

朝花夕拾 Java练习1

欢迎扫码关注微信公众号"野心与家",回复"12.10", 获取源代码

点击此处查看下一篇:朝花夕拾 Java练习2

1.实现简易计算器的加减乘除运算。
要求:从键盘上输入两个操作数和一个运算符,计算运算的结果并输出。例如,输入两个数1和3,运算符是“+”,输出结果为:1+3=4.

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入一个数:");
		double n1=sc.nextDouble();
		System.out.println("请输入一个运算符:");
		String s=sc.next();
//		char op=s.charAt(0);
		System.out.println("请输入一个数:");
		double n2=sc.nextDouble();
		double result=0;
		switch(s)
		{
    
    
		case "+":result=n1+n2;System.out.println(n1+"+"+n2+"="+result);break;
		case "-":result=n1-n2;System.out.println(n1+"-"+n2+"="+result);break;
		case "*":result=n1*n2;System.out.println(n1+"*"+n2+"="+result);break;
		case "/":result=n1/n2;
			if(n2==0) 
			{
    
    
				System.out.println("除数不能为0");
			}
			else 
			{
    
    
				System.out.println(n1+"/"+n2+"="+result);break;
			}
		}
	}
}

2.输入一个字母,将字母输出,例如,’a’变成’f’,’w’变成’b’

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    	
		System.out.println("请输入一个字母:");
		Scanner sc=new Scanner(System.in);
		String s=sc.next();
		char ch=s.charAt(0);
		if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')
		{
    
    
			if(ch>='A'&&ch<='U'||ch>='a'&&ch<='u')
			{
    
    
				char ch1=(char)(ch+5);
				System.out.println("后移五位后变成:"+ch1);
			}
			else {
    
    
				char ch1=(char)(ch-21);
				System.out.println("后移五位后变成:"+ch1);
			}
		}		
		else {
    
    
			System.out.println("非法字符,请重新输入");
		}		
	}
}

3.求1+1/2+3/5+5/8+…(求前十项的和)

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		double sum=0.0;
		double a=1,b=1,t;	//double类型
		for(int i=1;i<=10;i++)
		{
    
    
			sum=sum+a/b;	//sum=1/1=1;
			t=a;	//t=1;		t=1;	t=2;	t=3;
			a=b;	//a=1;		a=2;	a=3;	a=5;
			b=b+t;	//b=1+1=2;	b=3;	b=5;	b=8;
		}
		System.out.println(sum);
	}
}

4.输入a和n的值,求s=a+aa+aaa+aaaa+aa…a(n个a)的值并输出。例如当n是5,a是2的时候,s=2+22+222+2222+22222。

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		System.out.println("请输入a和n的值:");
		Scanner sc=new Scanner(System.in);
		int a=sc.nextInt();
		int n=sc.nextInt();
		int s=0,sum=0;
		for(int i=1;i<=n;i++)
		{
    
    
			s=s*10+a;
			sum=sum+s;
		}
		System.out.println(sum);
	}
}

5.求1-1/2+2/3-3/4+…-9/10;

方法一 :

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		double sum=1,j=1;		//注意sum=1
		for(int i=1;i<=10;i++)
		{
    
    
			sum=sum+j*(i-1)/i;
			j=j*-1;
		}
		System.out.print(sum);
	}
}

方法二 :

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		double sum=1;
		int j=2;
		for(int i=1;i<10;i++)
		{
    
    
			sum=sum+i*Math.pow(-1, i)/j;
			j++;
		}
		System.out.print(sum);
	}
}

6.输入一个整数,判断它有多少位并输出。

方法一 :

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		System.out.println("请输入一个整数");
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		int i;
		for(i=0;n>0;i++)
		{
    
    
			n=n/10;//n=666=666/10=66--->n=66=66/10=6--->n=6=6/10=0
		}
		System.out.println(i+"位");
	}
}

方法二 :

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		System.out.println("请输入一个整数");
		Scanner sc=new Scanner(System.in);
		String s=sc.next();
		System.out.println(s.length()+"位");		//调用length获取字符串长度
	}
}

7.输入一个整数,判断其是否是完数,如果是,则输出YES,否则输出NO。
(提示:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3)

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		System.out.println("请输入一个整数");
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		int sum=0;
		for(int i=1;i<n;i++)	//注意i=1,不能为0,需要对i取余
		{
    
    
			if(n%i==0)	//对i取余		例如n=6 n%1==0	6%2==0	6%3==0  6%4!=0 结束循环
			{
    
    
				sum=sum+i;	//sum=0+1+2+3=6
			}
		}
		if(n==sum)
		{
    
    
			System.out.println("yes");
		}
		else
		{
    
    
			System.out.println("no");
		}				
	}
}

8.输出1000以内的所有完数。

package com.Dome.aoian;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		int sum;
		for(int n=1;n<=1000;n++)
		{
    
    
			sum=0;
			for(int i=1;i<n;i++)
			{
    
    
				if(n%i==0)
				sum=sum+i;
			}
			if(sum==n)
				System.out.println(n);
		}	
	}
}

9.输入一个大于3的整数,判断其是否为素数,输出判断结果“YES”或“NO”

package com.Dome.aoian;
import java.util.Scanner;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		System.out.println("请输入一个大于三整数");
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();	//素数只能被1和它本身整除;
		int a=0;
		for(int i=2;i<n;i++)	//注意i的初始值为2
		{
    
    
			if(n%i==0)	//如果被整除
			{
    
    
				a++;	//计数
			}
		}
		if(a==0)
		{
    
    
			System.out.println("yes");
		}
		else
		{
    
    
			System.out.println("no");
		}
	}
}

10.输出200-300之间所有的素数

package com.Dome.aoian;
public class Dome {
    
    
	public static void main(String[] args) {
    
    
		int n;
		for(int i=200;i<300;i++)
		{
    
    
			for(n=2;n<i;n++)
			{
    
    
				if(i%n==0)
					break;
			}
			if(i==n)
				System.out.println(n);
		}
	}
}

猜你喜欢

转载自blog.csdn.net/m0_46653702/article/details/111004715