java练习题(新手专用)

1, 给定3个数a,b和c,输出最大的数。

2, public class Test1 

3, {

4,  public static void main(String args) 

5,  {

6,  int a=4,b=6,c=-2,max;

7,  if (a>=b)

8,  {

9,             max=a;

10,  }else if (b>=c)

11,  {

12,  max=b;

13,  }else

14,  {

15,  max=c;

16,  }

17,  System.out.println(max);

18,  }

19, }

2,某电信公司的市内通话费计算标准如下:

      三分钟内0.2元,三分钟后每增加一分钟增加0.1元,不足一分钟的按一分钟计算。

      要求编写程序,给定一个通话时间(单位:秒),计算出应收费金额。
import java.util.Scanner;

public class TestDemo01 {
public static void main(String args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入i:");
int i=sc.nextInt();
System.out.println("通话时间为"+i+"秒");
double w=0.0;
if(i>=0.0&&i<=180){
w=0.2; //不足3分钟
}else if(i>180){
int n=(i-180)/60;
int m=(i-180)%60;
if(m==0){
w=0.2+0.1*n; //大于3分钟,又是整分钟的
}else{
w=0.2+0.1*(n+1); //大于3分钟,不足1分钟按一分钟算
}
}
System.out.println("你的通话消费为"+w+"元");
}

}

3,某市的出租车计费标准为:3公里以内10元,3公里以后每加0.5公里加收1元;每等待2.5分钟加收1元;超过15公里的加收原价的50%为空驶费。要求编写程序,对于任意给定的里程数(单位:公里)和等待时间(单位:秒)计算出应付车费,车费直接截去小数位,只取整数。

import java.util.Scanner;

public class Test2 

{

public static void main(String args) 

{

Scanner sc = new Scanner(System.in);

System.out.print("请输入里程数:");

double lichen = sc.nextDouble();

System.out.print("请输入等待时间:");

int time = sc.nextInt();

double money=0.0;

        if (lichen<=3.0)

        {

money = 10;

        }else if (lichen > 3.0 && lichen <= 15.0)

        {

money = 10 + (lichen - 3.0) * 2;

        }else {

money = (10 + (lichen - 3.0) * 2) * 1.5;

}

if (time > 150)

{

money = money + time/150;

}

System.out.println("您应付金额:"+(int)money+"元");

}

}

4,编写程序,判断给定的某个年份是否是闰年。

      闰年的判断规则如下:

      (1)若某个年份能被4整除但不能被100整除,则是闰年。

      (2)若某个年份能被400整除,则也是闰年。
import java.util.Scanner;

public class TestDemo02 {
public static void main(String args) {
Scanner sc=new Scanner(System.in);
System.out.print("请输入年份:");
int i=sc.nextInt();
System.out.println("你输入的年份为"+i+"年");
if(i%400==0){
System.out.println(i+"年为闰年");
}else if(i0!=0 && i%4==0){
System.out.println(i+"年为闰年");
}else{
System.out.println(i+"不为闰年");
}
}

}

5,给定一个百分制的分数,输出相应的等级。

      90分以上     A级

      80~89          B级

      70~79          C级

      60~69          D级

      60分以下     E级 

import java.util.Scanner;

public class Test4 

{

public static void main(String args) 

{

Scanner sc=new Scanner(System.in);

System.out.print("请输入你的分数:");

float i=sc.nextFloat();

if (i>0&i<60)

{

System.out.println("你的等级为E级");

}else if (i>=60&i<70)

{

System.out.println("你的等级为D级");

}else if (i>=70&i<80)

{

System.out.println("你的等级为C级");

}else if (i>=80&i<90)

{

System.out.println("你的等级为B级");

}else if (i>=90&i<100)

{

System.out.println("你的等级为A级");

}

}

}

6,编写程序求 1+3+5+7+……+99 的和值

public class Test5 

{

public static void main(String args) 

{

int sum=0;

for(int i=1;i<100;i+=2){

sum=sum+i;

}

System.out.println("sum="+sum);

}

}

7,编写程序输出1-100之间所有能被7整除的偶数。

public class Test6 

{

public static void main(String args) 

{

for(int i=1;i<101;i++){

if(i%2==0&&i%7==0){

System.out.print(i+"\t");

}

}

}

}

8,求所有满足如下条件的四位数:

      千位上的数字大于百位数字,百位数字大于十位数字,十位数字大于个位数字,并

      且千位数字是其他三位数字的和。
public class TestDemo03 {
public static void main(String[] args) {
for (int i = 1000; i < 10000; i++) {
int q = i / 1000;
int b = (i % 1000) / 100;
int s = (i % 100) / 10;
int g = i % 10;
if (q > b && b > s && s > g && q == b + s + g) {
System.out.println(i + "\t");
}
}
}
}

9,给定两个任意的正整数,求它们之间的所有完全平方数,完全平方数是指这个数是 

    某个整数的平方,例如 16,25,36等都是完全平方数。

import java.util.Scanner;

//import java.lang.Math;

public class  Test6

{

public static void main(String args) 

{

Scanner sc = new Scanner(System.in);

System.out.print("请输入两个正整数:");

int x = sc.nextInt();

int y = sc.nextInt();

for(int i=x; i<=y; i++){

//int n = (int)Math.sqrt(i);

//if (n*n==i)

System.out.println(i+"的完全平方数为"+(i*i));

}

}

}

10,编写程序求下列多项式的前50项的和:

        1-1/3+1/5-1/7+1/9-…… 

public class Test8 

{

public static void main(String args) 

{

double sum=0.0;

int j=-1;

for(int i=0;i<50;i++){

            j=j*(-1);

sum+=j*1.0/(2*i+1);

 

}

System.out.println("sum="+sum);

}

}

11,请编写程序输出九九乘法表。

public class Test10 

{

public static void main(String args) 

{

for(int i=1;i<10;i++){

for(int j=1;j<=i;j++){

System.out.print(i+"*"+j+"="+(i*j)+"\t");

}

System.out.println("");

}

}

}

12,编写程序输出1-100之间的所有素数。

import java.lang.Math;

public class Test10{

    public static void main(String args){

boolean flag ;

for(int i=1;i<=100;i++){

 flag = true;

    int n=(int)Math.sqrt(i+1);

    for(int k=2;k<=n;k++){

       if (i%k==0){

   flag = false;

   break;      

       } 

    }

if (flag)

{

System.out.print(i+"\t");

}

}

    }

}

13,在屏幕上输出一个n行的金字塔图案,例如,若n=5,则图案如下:

import java.util.Scanner;

public class Test1 

{

public static void main(String args) 

{

Scanner sc=new Scanner(System.in);

System.out.print("请输入n的值:");

int n = sc.nextInt();

        for(int i = 1; i<=n; i++){

for(int j = 1; j<= n-i; j++){

System.out.print(" ");

}

for(int k = 1; k <= 2*i-1; k++){

System.out.print("*");

}

System.out.println();

}

}

}

14,求斐波那契数列前n项的和值,斐波那契数列如下: 

       1,1,2,3,5,8,13,21……

     前两位数是1,从第三位开始每位数都是前两位数之和 

import java.util.Scanner;

public class Test11 

{

public static void main(String args) 

{

Scanner sc=new Scanner(System.in);

System.out.print("请输入n的值:");

int n=sc.nextInt();

int a=new int[n];

a[0]=1;

a[1]=1;

int sum=2;

for(int i=2;i<n;i++){

a=a[i-1]+a[i-2];

sum+=a[i];

}

System.out.println("sum="+sum);

}

}

15,给定一个整数,把它的各位数字倒排过来形成一个新的整数

    例如:给定12345   输出54321  ;给定 9870  输出789

import java.util.Scanner;

public class Test12 

{

public static void main(String args) 

{

Scanner sc = new Scanner(System.in);

System.out.print("请输入一个正整数:");

long n = sc.nextLong();

long newnumber = 0;

do

{

newnumber = newnumber * 10 + n % 10;

n /= 10;

}

while (n != 0);

System.out.println(newnumber);

}

}
[/i]
已邀请:

pekingurm - 西安城墙根

赞同来自:

你贴的好高大上哦!!
 
要是有把编辑器提供一下,是不是更好呢??idehub,期待更新。

Lucky_zjj

赞同来自:

你的这个感觉好乱哦,要是在编辑器里格式化一下代码,在复制上来效果会更好哦

哑涛leo - 半路出家的java

赞同来自:

2,某电信公司的市内通话费计算标准如下:

      三分钟内0.2元。
题目写了前三分钟0.2元呢,怎么在
else if ((i-180)`==0)

{

w=0.6+(i-180)/60*0.1;是0.6+(i-180)呢?应该0.2吧。
而第四题和第八题就错得更厉害了吧,闰年不是这样算出来的,而第八题取四位数的千位百位十位,也不是i/1000,i/100,而是i/1000吧?

要回复问题请先登录注册

Template error, template file not found