2021级-JAVA02 基础语法1--标识符、常量与变量、数据类型、运算符与表达式

7-1 改错题01

请把如下有语法错误的程序段修改正确,按要求输出样例结果。

public class Main {
    public static void main(String[] args) {
        int i;
        int k=100.0;
        int j=i+1;
        
        System.out.printf("j is " + j + " and k is " + k);
    }
}

输入格式:

无输入

输出格式:

输出结果:j is 1 and k is 100

输入样例:

无输入

输出样例:

j is 1 and k is 100
public class Main {
    public static void main(String[] args) {
        int i=0;
        int k=100;
        int j=i+1;
​
        System.out.printf("j is %d and k is %d",j,k);
    }
}
​

7-2 你好

输入格式:

一行文字。

输出格式:

一行文字。

输入样例:

Mary Johnson

输出样例:

Hello Mary Johnson
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        String a=reader.nextLine();
        System.out.printf("Hello %s\n",a);
        reader.close();
    }
}
​

7-3 计算三角形面积。

输入格式:

输入三角形三边长a,b,c(整数)。

输出格式:

对每一组输入,在一行中输出面积的值。

输入样例:

在这里给出一组输入。例如:

3
4
5

输出样例:

在这里给出相应的输出。例如:

6.0
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner reader= new Scanner(System.in);
        int a,b,c;
        double d,e;
        a=reader.nextInt();
        b=reader.nextInt();
        c=reader.nextInt();
        d=(float)(a+b+c)/2;
        e=Math.sqrt(d*(d-a)*(d-b)*(d-c));
        System.out.println(e);
    }
}

7-4 java基本语法-整数四则运算

输入格式:

输入两个整数

输出格式:

每一行中依次输出四则运算的结果

输入样例:

70
16 

输出样例:

在这里给出相应的输出。例如:

86
54
1120
4.375
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader= new Scanner(System.in);
        int a,b,c,d,f;
        double e;
        a=reader.nextInt();
        b=reader.nextInt();
        c=a+b;
        d=a-b;
        f=a*b;
        e=(double) a/b;
        System.out.println(c);
        System.out.println(d);
        System.out.println(f);
        System.out.println(e);
    }
}
​

7-5 计算摄氏温度

求华氏温度100对应的摄氏温度 计算公式:celsius = 5 * (100 - 32) / 9

输入格式:

输出格式:

输出100和对应的摄氏温度

输入样例:

在这里给出一组输入。例如:

输出样例:

在这里给出相应的输出。例如:

100 37.78
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader= new Scanner(System.in);
        double a;
        int b=100;
        a=5*(double)(100-32)/9;
        System.out.printf("%d %.2f",b,a);
        reader.close();
​
    }
}
​

7-6 计算PI值

分数 10

全屏浏览题目切换布局

作者 殷伟凤

单位 浙江传媒学院

写一个程序显示如下式子的结果: PI = 4 *(1 -1/3 +1/5 -1/7 +1/9 -1/11 +1/13).

在程序中使用1.0代替1。

输入格式:

输出格式:

算式的值

输入样例:

在这里给出一组输入。例如:

输出样例:

在这里给出相应的输出。例如:

3.2837384837384844
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader= new Scanner(System.in);
      double a;
      a=4*(1-1/3.0+1/5.0- 1/7.0+ 1/9.0- 1/11.0+ 1/13.0);
        System.out.println(a);
        reader.close();
​
    }
}
​

7-7 求一个三位正整数各位数字之和

输入格式:

输入一个三位的正整数

输出格式:

输出百十个位上各位数字的和

输入样例:

678

输出样例:

21
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader= new Scanner(System.in);
        int a,b,c,d,e;
        a=reader.nextInt();
        b=a%10;
        c=a/10%10;
        d=a/100;
        e=b+c+d;
        System.out.println(e);
        reader.close();
​
    }
}
​

7-8 jmu-Java-02基本语法-05-浮点数的精确计算

输入若干对浮点数,对每对浮点数输出其精确的和与乘积。 以下输入样例为两对浮点数输入,实际上有可能有不定对数的浮点数需要输入计算。

注1:直接使用double类型数据进行运算,无法得到精确值。 注2:输出时直接调用BigDecimal的toString方法。

输入样例:

69.1 0.02
1.99 2.01

输出样例:

69.12
1.382
4.00
3.9999
import java.math.BigDecimal;
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader= new Scanner(System.in);
        String a,b;
      while(reader.hasNext())
      {
          a=reader.next();
          b=reader.next();
         BigDecimal a1=new BigDecimal(a);
         BigDecimal b1=new BigDecimal(b);
          System.out.println(b1.add(a1));
          System.out.println(b1.multiply(a1));
      }
        reader.close();
​
    }
}
​

7-9 sdut-sel-0-输出学生个人信息(II)

输入数据的首行为是否要读入学生信息的标志。
若首行标志为1,则读入学生信息之后再进行输出; 
若首行标志为0,则输出默认的学生信息(见输出样例1)。

输入格式:

首行表示是否读取学生信息的标志。 后续若干行表示学生信息。

标志行(0或1)——0后续无输入数据;1后续有数据输入
学号
姓名
专业
班级
联系方式

输出格式:

每位学生的信息,格式如下:

学号:***
姓名:***
专业:***
班级:***
联系方式:***

输入样例1:

0

输出样例1:

学号:202000101
姓名:张三
专业:计算机科学与技术
班级:计科2001
联系方式:18966666666

输入样例2:

1
202000202
李四
软件工程
软件2002
13966666777

输出样例2:

学号:202000202
姓名:李四
专业:软件工程
班级:软件2002
联系方式:13966666777
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        while(reader.hasNext())
        {
            int a= reader.nextInt();
            if(a==0)
            {
                System.out.printf("学号:202000101\n");
                System.out.printf("姓名:张三\n");
                System.out.printf("专业:计算机科学与技术\n");
                System.out.printf("班级:计科2001\n");
                System.out.printf("联系方式:18966666666");
​
            }
            else if(a==1)
            {
                String c,d,e,f,g;
                reader.nextLine();//消耗掉“1”之后的换行符
                c=reader.nextLine();
                d=reader.nextLine();
                e=reader.nextLine();
                f=reader.nextLine();
                g=reader.nextLine();
​
                System.out.printf("学号:%s\n",c);
                System.out.printf("姓名:%s\n",d);
                System.out.printf("专业:%s\n",e);
                System.out.printf("班级:%s\n",f);
                System.out.printf("联系方式:%s\n",g);
​
​
​
            }
​
​
        }
        reader.close();
    }
}
​
​

7-10 sdut-JAVA判断合法标识符

输入若干行字符串,判断每行字符串是否可以作为JAVA语法的合法标识符。

判断合法标识符的规则:由字母、数字、下划线“_”、美元符号“$”组成,并且首字母不能是数字。

输入格式:

输入有多行。

每行一个字符串,字符串长度不超过10个字符。

输出格式:

若该行字符串可以作为JAVA标识符,则输出“true”;否则,输出“false”。

输入样例:

abc
_test
$test
a 1
a+b+c
a’b
123
变量

输出样例:

true
true
true
false
false
false
false
true
import java.math.BigDecimal;
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        while(reader.hasNext())
        {
            int flag=1;
            String str=reader.nextLine();
            char ch;
            ch=str.charAt(0);
            int len= str.length();
            if(Character.isJavaIdentifierStart(ch))
            {
                for(int i=1;i<len;i++)
                {
                    ch=str.charAt(i);
                    if(!Character.isJavaIdentifierPart(ch))
                    {
                        flag=0;
                        break;
                    }
                }
            }
            else
            {
                flag=0;
            }
            if(flag==0)
                System.out.printf("false\n");
            else
                System.out.printf("true\n");
        }
        reader.close();
​
    }
}
​

7-11 sdut-数据类型-1-求班级男女生比例

新的一学期开始,HH同学在学校认识了很多的同学,但是他却不知道自己本班男生和女生的比例是多少。对于学过编程的你一定简单极了吧。你能帮他算出男生女生的百分比吗?

输入格式:

每行输入正整数男生和女生的数目n,m(0<n,m<1000)。

输出格式:

输出男生女生所占的比例(保留小数点后两位)。

输入样例1:

20 30

输出样例1:

40.00% 60.00%

输入样例2:

10 10

输出样例2:

50.00% 50.00%

输入样例:

50 0

输出样例:

100.00% 0.00%
import java.math.BigDecimal;
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        while(reader.hasNext())
        {
            int a,b;
            a=reader.nextInt();
            b=reader.nextInt();
            double c,d;
            c=(double) a/(a+b);
            d=(double) b/(a+b);
            System.out.printf("%.2f%% ",c*100);
            System.out.printf("%.2f%%",d*100);
        }
        reader.close();
​
    }
}
​

7-12 以英里计的平均速度

分数 10

全屏浏览题目切换布局

作者 林华

单位 广东外语外贸大学

假设一个跑步者m分钟s秒内跑了d公里。编写一个程序显示以每小时多少英里为单位的平均速度值。(注意:1英里等于1.6公里)

输入格式:

在一行中给出3个正整数,分别是m,s,d。

输出格式:

输出每小时多少英里为单位的平均速度值。保留小数点后2位。

输入样例:

45 30 14

输出样例:

11.54
import java.math.BigDecimal;
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
       while(reader.hasNext())
       {
           int a,b,c;
           a= reader.nextInt();
           b= reader.nextInt();
           c= reader.nextInt();
           double d=(double) (a*60+b)/3600;
           double e=c/(1.6*d);
           System.out.printf("%.2f\n",e);
       }
        reader.close();
​
    }
}
​

7-13 sdut-数据类型-2 应用勾股定理,了解世界灿烂文明

意义:勾股定理是历史上第一个把数与形联系起来的定理,导致了无理数的发现,引起第一次数学危机,大大加深了人们对数的理解。勾股定理是欧氏几何的基础定理,不仅在几何学中是一颗光彩夺目的明珠,被誉为“几何学的基石”,而且在高等数学和其他科学领域也有着广泛的应用。1971年5月15日,尼加拉瓜发行了一套题为“改变世界面貌的十个数学公式”邮票,这十个数学公式由著名数学家选出的,勾股定理是其中之首。

简史: 在中国,公元前十一世纪,数学家商高(西周初年人)就提出“勾三、股四、弦五”。编写于公元前一世纪以前的《周髀算经》中记录着商高与周公的一段对话。商高说:“……故折矩,勾广三,股修四,经隅五。”意为:当直角三角形的两条直角边分别为3(勾)和4(股)时,径隅(弦)则为5。以后人们就简单地把这个事实说成“勾三股四弦五”,根据该典故称勾股定理为商高定理。 公元三世纪,三国时代的赵爽对《周髀算经》内的勾股定理作出了详细注释,记录于《九章算术》中“勾股各自乘,并而开方除之,即弦”,赵爽创制了一幅“勾股圆方图”,用数形结合得到方法,给出了勾股定理的详细证明。后刘徽在刘徽注中亦证明了勾股定理。 在中国清朝末年,数学家华蘅芳提出了二十多种对于勾股定理证法。

在国外,远在公元前约三千年的古巴比伦人就知道和应用勾股定理,他们还知道许多勾股数组。美国哥伦比亚大学图书馆内收藏着一块编号为“普林顿322”的古巴比伦泥板,上面就记载了很多勾股数。古埃及人在建筑宏伟的金字塔和测量尼罗河泛滥后的土地时,也应用过勾股定理。 公元前六世纪,希腊数学家毕达哥拉斯证明了勾股定理,因而西方人都习惯地称这个定理为毕达哥拉斯定理。 公元前4世纪,希腊数学家欧几里得在《几何原本》中给出一个证明。 1940年《毕达哥拉斯命题》出版,收集了367种不同的证法。

定义:在平面上的一个直角三角形中,两个直角边边长的平方加起来等于斜边长的平方。如果设直角三角形的两条直角边长度分别是和,斜边长度是,那么可以用数学语言表达:

a2+b2=c2

请编程程序,实现如下功能:输入直接三角形的两个直角边的边长,求它们的斜边边长,结果保留2位小数。

提示:在Java中利用Math类的方法——Math.sqrt()求平方根。

java.lang.Math.sqrt(double a) 返回一个double值的正平方根。

输入格式:

输入有若干行,每行有2个数值,分别表示直角三角形的两个直角边长度,用空格分隔。

输出格式:

对应每行输入数据,输出直角三角形的斜边长度,结果保留2位小数。

输入样例

 3 4
 2.3 3
 5 6
 10 12

输出样例:

在这里给出相应的输出。例如:

5.00
3.78
7.81
15.62
import java.math.BigDecimal;
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        while (reader.hasNext()) {
            double a, b;
            a = reader.nextDouble();
            b = reader.nextDouble();
            double c=Math.sqrt(a*a+b*b);
            System.out.printf("%.2f\n",c);
​
        }
        reader.close();
​
    }
}
​

7-14 sdut-数据类型-3 计算飞行员到最近机场的距离

当飞机上的仪器出故障时,飞行员常常得估计他们到最近机场的距离。他们的方法是利用他们的高度和他们和机场之间的角度的估计。编写一个程序,帮助飞行员进行计算。

程序应以高度和角度作为输入,输出估计距离。公式为:距离distance=高度hight/ tan(degree)。

说明:tan(degree)为角度为degree的正切值。

提示:在JAVA中,Math类的静态方法tan(double degree),用于计算弧度为degree的角度的正切值。

在C语言中,函数名: tan, 头文件:<math.h>, 函数原型: double tan(double x); 功能: 正切函数,参 数:double x 为要操作的弧度,返回值:返回x弧度的正切值。

输入格式:

输入数据有多行。

每行为一组输入,分别是高度、角度。角度介于(0,PI/2)区间。

输出格式:

对应每行输入,求飞行员到机场的距离,保持2位小数。

输入样例:

在这里给出一组输入。例如:

1033102 0.15
10210 0.8
104320 0.7
13200  1.524
84535300 0.523

输出样例:

在这里给出相应的输出。例如:

6835613.92
9916.10
123853.07
618.16
146622115.56
import java.math.BigDecimal;
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        while (reader.hasNext()) {
            double a, b;
            a = reader.nextDouble();
            b = reader.nextDouble();
            double c=a/Math.tan(b);
            System.out.printf("%.2f\n",c);
​
        }
        reader.close();
​
    }
}
​

7-15 sdut-数据类型-4 第七次全国人口普查数据分析

数据来源: http://www.chinanews.com/gn/2021/05-11/9474601.shtml

   我国以2020年11月1日零时为标准时点,开展了第七次全国人口普查,主要目的是全面查清我国人口数量、结构、分布等方面情况,为完善我国人口发展战略和政策体系、制定经济社会发展规划、推动高质量发展提供准确统计信息支持。

  截至2021年5月11日,国家统计局发布普查数据。现抽取部分数据进行分析。请根据每一步的要求,进行相应的计算并输出。每一类数据占一行,数据之间有一个空格作分隔。

  (一)人口总量。全国人口共141178万人,2010年(第六次全国人口普查数据)的133972万人相比,增加a1=? 万人,增长率为 a2=?% ,年平均增长率为 a3=? %。 (其中:a1为整数,a2和a3各保留2位小数)

  (二)户别人口。全国共有家庭户49416万户,家庭户人口为129281万人;平均每个家庭户的人口为 b1=?人, 2010年为 3.10人,减少 b2=? 人。(集体户2853万户,集体户人口为11897万人。) (其中:b1和b2各保留2位小数)

  (三)年龄构成。0—14岁人口为25338万人,占 c1=? %;15—59岁人口为89438万人,占 c2=? %;60岁及以上人口为26402万人,占c3=?%。(其中:c1、c2、c3 各保留2位小数)

  (四)受教育程度人口。具有大学文化程度的人口为21836万人,占总人口的d1=? %。(d1保留2位小数)  

输入格式:

输入数据有4行。第1、2、3、4行的数据含义为如下信息的数量(单位为:万人),若未指定时间即为2020年11月1日标准时点的数据。数据之间用空格作分隔符。

全国总人口 2010年全国总人口

总家庭户 家庭户总人数 2010年家庭户平均人数

0—14岁人口 15—59岁人口 60岁及以上人口

具有大学文化程度的人口

输出格式:

输出数据有4行。第1、2、3、4行的数据含义为如下信息,,若未指定时间即为2020年11月1日标准时点的数据。数据之间用1个空格作分隔符。

全国总人口比2010年增加数量(a1) 增长率(a2%) 年平均增长率( a3%)

平均每个家庭户的人口(b1) 比2010年减少人数(b2)

0—14岁人口占比(c1%) 15—59岁人口占比(c2%) 60岁及以上人口占比(c3%)

具有大学文化程度的人口占比(d1%)

(说明:a1为整数,a2、a3、b1、b2、c1、c2、c3、d1均保留2位小数;如果为增长率或变化率,均以百分数形式展示数据)

输入样例:

141178 133972
49416 129281 3.10
25338 89438 26402
21836

输出样例:

7206 5.38% 0.54%
2.62 0.48
17.95% 63.35% 18.70%
15.47%
import javax.swing.*;
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int total2020 = in.nextInt();
        int total2010 = in.nextInt();
        int a1 = total2020 - total2010;
        double a2 = 1.0 * a1 / total2010;
        double a3 = a2 / 10;
        System.out.printf("%d %.2f%% %.2f%%\n", a1, a2 * 100, a3 * 100);
        double family =in.nextInt();
        double familyperson=in.nextInt();
        double aver =in.nextDouble();
        double b1=1.0*familyperson/family;
        double b2=aver-b1;
        System.out.printf("%.2f %.2f\n",b1,b2);
        double age14=in.nextInt();
        double age59=in.nextInt();
        double age60=in.nextInt();
        double c1=1.0*age14/total2020;
        double c2=1.0*age59/total2020;
        double c3=1.0*age60/total2020;
        System.out.printf("%.2f%% %.2f%% %.2f%%\n",c1*100,c2*100,c3*100);
        double study =in.nextInt();
        double d=1.0*study/total2020;
        System.out.printf("%.2f%%\n",d*100);
        in.close();
    }
}

7-16 学投资

分数 10

全屏浏览题目切换布局

作者 温彦

单位 山东科技大学

小白学习了一些复利投资知识,想比较一下复利能多赚多少钱(所谓复利投资,是指每年投资的本金是上一年的本金加收益。而非复利投资是指每年投资金额不包含上一年的收益,即固定投资额)。假设他每年固定投资M元(整数),每年的年收益达到P(0<P<1,double),那么经过N(整数)年后,复利投资比非复利投资多收入多赚多少钱呢?计算过程使用双精度浮点数,最后结果四舍五入输出整数(Math的round函数)。

输入格式:

M P N

输出格式:

复利收入(含本金),非复利收入(含本金),复利比非复利收入多的部分(全部取整,四舍五入)

输入样例:

10000 0.2 3

输出样例:

17280 16000 1280
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int money,year;
        double b;
        money=in.nextInt();
        b=in.nextDouble();
        year=in.nextInt();
        double s1=money,s2=0;
        for(int i=1;i<=year;i++)
        {
            s1=1.0*s1*(1+b);
            s2+=1.0*money*b;
        }
        s2=s2+money;
        long a1,a2,a3;
        a1=Math.round(s1);
        a2=Math.round(s2);
        a3=Math.round(s1-s2);
​
        System.out.printf("%d %d %d\n",a1,a2,a3);
        in.close();
​
    }
}

7-17 Reversed 3-Digit-Number

Your program reads a positive 3-digit-number in and prints the digits in reversed order. There should not be any leading zeros when the number has tailing zeros. For example, the output should be 7 for the number 7000.

Input Format:

A postive 3-digit-number.

Output Format:

A reversed number.

Sample Input:

123

Sample Output:

321
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int s=in.nextInt();
        int a,b,c;
        a=s/10%10;
        b=s/100;
        c=s%10;
        System.out.printf("%d\n",c*100+a*10+b);
        in.close();
​
    }
}

7-11 计算钱币

编写程序,读取用户输入的代表总金额的double值,打印表示该金额所需的最少纸币张数和硬币个数,打印从最大金额开始。纸币的种类有十元、五元、一元,硬币的种类有五角、一角、贰分、壹分。

输入格式:

47.63

输出格式:

4 张十元
1 张五元
2 张一元
1 个五角
1 个一角
1 个贰分
1 个壹分

输入样例:

在这里给出一组输入。例如:

47.63

输出样例:

在这里给出相应的输出。例如:

4 张十元
1 张五元
2 张一元
1 个五角
1 个一角
1 个贰分
1 个壹分
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        double n = sc.nextDouble();
        System.out.println((int)n/10+" 张十元");
        System.out.println((int)n%10/5+" 张五元");
        System.out.println((int)n%10%5/1+" 张一元");
        double a =n%10%5%1;
        System.out.println((int)(a/0.5)+" 个五角");
        System.out.println((int)(a%0.5/0.1)+" 个一角");
        double b=a%0.5%0.1;
        System.out.println((int)(b/0.02)+" 个贰分");
        System.out.println((int)(b%0.02/0.01)+" 个壹分");
    }
}
​
​

7-13 推算星期

若告诉你今天是星期几,请问:过几天后是星期几?

请编写程序,输入今天的星期数 w 和所过的天数 n,计算并输出未来这一天的星期数 d

注:用整数值 0 ~ 6 表示星期日、星期一、... 、星期六。

星期
星期日0
星期一1
星期二2
星期三3
星期四4
星期五5
星期六6

输入格式

wn

输出格式

d

注:题目保证 wnd 的值都在 int 类型的表示范围内。

输入样例

3 100

输出样例

5
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        int w=reader.nextInt();
        int n=reader.nextInt();
        int a=n%7;
        for(int i=0;i<a;i++)
        {
            w++;
            if(w==7)
                w=0;
        }
        System.out.println(w);
        reader.close();
    }
}

7-14 Time Difference

What is the time difference between 10:30 and 11:45?

Your program reads two time spots and prints the time difference between them, in terms of hours and minutes.

Input Format

Two time spots, in 24-hour, each is represented as two numbers, as "hour minute". The second time spot is later than the first and both are within the same day.

Output Format

Two numbers represent the time difference. The first is the hours in the difference, while the second is the minutes.

Sample Input

10 30 11 45

Sample Output

1 15
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        int a=reader.nextInt();
        int b=reader.nextInt();
        int c=reader.nextInt();
        int d=reader.nextInt();
        int s=c*60+d-(a*60+b);
        int s1=s/60;
        int s2=s%60;
        System.out.printf("%d %d\n",s1,s2);
        reader.close();
    }
}

7-15 逆序的三位数

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

输入格式

每个测试是一个3位的正整数。

输出格式

输出按位逆序的数。

输入样例

123

输出样例

321
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int s=in.nextInt();
        int a,b,c;
        a=s/10%10;
        b=s/100;
        c=s%10;
        System.out.printf("%d\n",c*100+a*10+b);
        in.close();
​
    }
}

7-16 sdut-入门-三个整数和、积与平均值

给出三个整数,请你设计一个程序,求出这三个数的和、乘积和平均数。

输入格式:

输入只有三个正整数a、b、c。数据之间用一个空格隔开。

输出格式:

输出一行,包括三个的和、乘积、平均数。 数据之间用一个空格隔开,其中平均数保留小数后面两位。

输入样例:

2 3 3

输出样例:

8 18 2.67

7-17 sdut-入门-买糖果

小瑜是个爱吃糖果的馋鬼,天天嚷着要爸爸买糖果,可是爸爸很忙,哪有时间啊,于是就让小瑜自己去了。

糖果3角钱一块,爸爸给小瑜n元钱,请你告诉小瑜最多能买几块糖,还剩几角钱?

输入格式:

输入爸爸给小瑜的钱n元,n为整数。

输出格式:

小瑜最多能买回的糖块数以及剩下的钱(单位为:角),用1个空格分隔。

输入样例:

2

输出样例:

6 2
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        int n;
        n=reader.nextInt();
        int a,b,c;
        a=n*10;
        b=a/3;
        c=a%3;
        System.out.printf("%d %d\n",b,c);
        reader.close();
    }
}

7-18 sdut-计算球体积

输入格式:

输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。

输出格式:

输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。

提示:PYTHON3输出三位小数的语句:print("%.3f" % (v)) ;其中,v为变量。

输入样例:

1
1.5

输出样例:

4.189
14.137
import java.util.Scanner;
​
public class Main {
    public static void main(String[] args) {
        Scanner reader=new Scanner(System.in);
        final double PI=3.1415926;
        while (reader.hasNext())
        {
            double d=reader.nextDouble();
            double v=4/3.0*PI*d*d*d;
            System.out.printf("%.3f\n",v);
        }
        reader.close();
    }
}

 

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
注释   • 单行注释 用双斜线 ”//” 表示   • 多行注释 用 /*------------------*/ 表示   • 文档注释 用 /**-----------------*/ 表示 文档注释与javadoc   •文档注释还可以通过javadoc 命令来生成API文档   •格式: javadoc –d apidoc 源文件名     –其中-d path指定存放API文档的路径。   •API 文档包括三个区域分别是:包区域,类区域,详细说明区域 注: 如果要出现包区域,要让不同类处于不同的包下面才会出现包区域。 标识符和关键字   •分隔符:常见的分隔符有分号; 花括号{} 方括号[ ] 圆括号() 空格 圆点 .     –在 Java 语言中每一条语句的结束用分号表示;   •标识符的规则:由字母,数字,下划线_,美元$组成,但数字不能开头.   •标识符不能是java的关键字和保留字,但中间可以包含标识符,不能包含空格。   •Java 的关键字加上goto const true false null 一共有53个关键字和保留字,都不能作为Java的标识符标识符举例 –abc_xyz √ –HelloWorld √ –abc$ √ –$中文 √ –_abc 对 √ –xyz#abc × –abc1 √ –1abc × 数据类型的分类   •Java语言是一个强类型语言。     –所有变量,必须先声明类型,再使用。     –指定类型变量,只能装对应的类型数据。什么样的瓶子装什么样的酒。   •Java 语言支持的类型分为两大类: 基本数据类型和引用类型     –基本数据类型包括八大数据类型。     –引用类型包括数组、类、接口。 变量   •变量就是用来记录数据的。   •计算机内存里数据就需要通过变量来访问它。   •通俗一点,你可以把变量理解成容器,它可以装数据。 使用Scanner获取键盘输入   •使用Scanner类可以很方面地获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文 件、输入流、字符串中解析出基本类型值和字符串值。Scanner类提供了多个构造器,不同的构造器可接受文件、输 入流、字符串作为数据源,用于从文件、输入流、字符串中解析数据。   •Scanner主要提供了两个方法来扫描输入:     –hasNextXxx():是否还有下一个输入项,其中Xxx可以是Int、Long等代表基本数据类型的字符串。如果 需要判断是否包含下一个字符串,则可以省略Xxx。     –nextXxx():获取下一个输入项。Xxx的含义与前一个方法中Xxx相同。 基本数据类型   •Java 的基本数据类型可以分为两大类: boolean 类型 和 数值类型.   •而数值类型又可以分为整型和浮点型     –整型包括:byte short int long(广义的整型包括char型)     –在内存中各占:1,2,4,8个字节, 各有各的取值范围,略记一下。   •在定义long 类型时 必须在数字后面加L,   •整数常量有三种表示方式: 十进制,八进制(以0开头),十六进制(以0x开头), 二进制(以OB开头—jdk1.7)   •在java 语言中,运算过程中,整型类型默认为 int 类型   •什么样的类型变量 只能存放什么样类型的值 浮点型   •浮点型 包括 : float 和 double 型 两种。他们分别占有4个字节和8个字节,但他们远远比int 和 long 的 4 和 8 个字节大的多   •Java 语言的浮点数有两种表示方式:十进制数形式,浮点数必须包含小数,否则系统将认为是一个int 型 如: 8.0 不能省略为: 8   •科学计数法形式:     –注: 只有浮点数才有科学计数法,,   •Java 语言的浮点数默认是double 型,,如果要表示float 型 必须在数字后面加 f(如:1.3f),   •Java 的三个特殊的浮点数值:正无穷大,负无穷大和非数   •所有的正无穷大都是相等,负无穷大都是相等,,而非数不与任何数值相等,与自己也不相等,只有浮点数除0 才可以 得到这三个数,整数除0将报错;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值