java渐进之路(一)基本数据类型与数组

Java基本数据类型与数组

思维导图

java渐进之路(一)基本数据类型与数组_第1张图片

PTA题目

判断题

1-1
程序运行中可以改变数组的大小。
F
1-2
Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。
T
1-3
数组也是对象。
T
1-4
使用方法length( )可以获得字符串或数组的长度。
F
1-5
一个数组可以存放不同类型的数值。
F
1-6
Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。
T
1-7
java语言中不用区分字母的大写小写。
F
1-8
Java的字符类型采用的是ASCII编码。
F
1-9
Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特。
T
1-10
Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。
T
1-11
Java语言中,变量名可以用汉字表示。
T
1-12
语句 System.out.println(4+8+“Hello,world!”); 的输出结果是12Hello,world!。
F
1-13
boolean型数据的值只有true和false。
T
1-14
Java中数组的元素只能是简单数据类型。
T
1-15
把数组中元素按某种顺序排列的过程叫做查找 。
F
1-16
一个数组可以存放许多不同类型的数值。
F
1-17
数组中有length()这个方法,如array.length()表示数组array中元素的个数
F
1-18
制造(new)数组时,要指定数组长度,以便为数组分配内存。
T
1-19
Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。
F

单选题

java渐进之路(一)基本数据类型与数组_第2张图片

程序填空题

1
该程序功能是遍历数组,输出一维数组的所有元素,


 - public class Main {
       public static void main(String[] args) {
           int[] a={10,3,1,3,53,23,232,90,21,33};
           for( 【代码一】 【代码二】 : 【代码三】)
           {
               System.out.print( 【代码四】+" ");
           }
       } 
   }

输出样例:

10 3 1 3 53 23 232 90 21 33

代码一int
代码二t
代码三a
代码四t
2
用数组来求Fibonacci数列问题,打印前20项数列,每行打印4个数。。

public class Main {
	public static void main(String[] args) {
		int f[]=new int[20];
		f[0]=1;
		f[1]=1;
		for(int i=2;i<20;i++){
		  【代码一】                           ;
		}
		for(【代码二】;i<20;i++){
			System.out.printf("%12d",f[i]);
			if(【代码三】)
				System.out.println();
		}	
	}	
}

代码一f[i]=f[i-1]+f[i-2]
代码二int i=0
代码三(i+1)%4==0

编程题

7-1 编程题:判断闰年-hebust (10分)
根据输入的正整数y所代表的年份,计算输出该年份是否为闰年 闰年的判断标准:
能够被4整除且不能被100整除的年份
或者能够被400整除的年份

输入格式:
输入n取值范围是 【1…3000】
输出格式:
是闰年,输出 yes
非闰年,输出 no

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

100

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

no
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int k=0;
        if(a<0||a>3000){
            System.out.println("年份有误!");
        }
        if(a%4==0&&a%100!=0||a%400==0)
        {
            System.out.println("yes");
        }
        else 
        {
            System.out.println("no");
        }
    }
}

7-2 java基本语法-整数四则运算 (10分)
输入2个整数,输出它们的和、差、乘积和准确的商。

输入格式:
输入两个整数
输出格式:
每一行中依次输出四则运算的结果

输入样例:

70
16 

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

86
54
1120
4.375
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        double a=sc.nextDouble();
        double b=sc.nextDouble();
        System.out.printf("%.0f\n",a+b);
        System.out.printf("%.0f\n",a-b);
        System.out.printf("%.0f\n",a*b);
        System.out.println(a/b);
    }
}

7-3 计算钱币 (10分)
编写程序,读取用户输入的代表总金额的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();
        double a,b,c,d,e,f,g;
        a=n/10;
        n=n%10;
        b=n/5;
        n=n%5;
        c=n/1;
        n=n%1;
        d=n/0.5;
        n=n%0.5;
        e=n/0.1;
        n=n%0.1;
        f=n/0.02; 
        n=n% 0.02;
        g=n/0.01;
        System.out.printf("%.0f张十元\n%.0f张五元\n%.0f张一元\n%.0f个五角\n%.0f个一角\n%.0f个贰分\n%.0f个壹分",a,b,c,d,e,f,g);
    }
}

7-4 有重复的数据 (10分)
在一大堆数据中找出重复的是一件经常要做的事情。现在,我们要处理许多整数,在这些整数中,可能存在重复的数据。
你要写一个程序来做这件事情,读入数据,检查是否有重复的数据。如果有,输出“YES”这三个字母;如果没有,则输出“NO”。

输入格式:
你的程序首先会读到一个正整数n,1<=n<=100000。然后是n个整数。
输出格式:
如果这些整数中存在重复的,就输出:
YES
否则,就输出:
NO

输入样例:

5
1 2 3 1 4

输出样例:

YES
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		
		int len=scanner.nextInt();
		scanner.nextLine();
		String str = scanner.nextLine();
		String[] strs = str.split(" ");
		Set<Integer> set = new HashSet<Integer>();
		for (int i=0; i<len; i++) {
			set.add(Integer.parseInt(strs[i]));
		}
		if (set.size() == len) {
			System.out.println("NO");
		}else {
			System.out.println("YES");
		}
	}
}

7-5 摘苹果 (5分)
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出很多苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知每个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。

输入格式:
包括三行数据。 第一行是一个整数n,表示有n个苹果。苹果至少有一个,不超过1000个。 第二行包含n个100到200之间(包括100和200)的整数(以厘米为单位)分别表示这n个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。 第三行是一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
输出格式:
一个整数,表示陶陶能够摘到的苹果的数目。

输入样例:

10
100 200 150 140 129 134 167 198 200 111
110

输出样例:

5
import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[]apple=new int[n];
        for(int i=0;i<n;i++)
        {
            apple[i]=sc.nextInt();
        }
        int s=sc.nextInt();
        int k=0;
        for(int i=0;i<n;i++)
        {
            if(apple[i]<=s||apple[i]<=(s+30))
            {
                k++;
            }
        }
        System.out.println(k);
    }
}

7-6 jmu-Java-01入门-取数字浮点数 (2分)
本题目要求读入若干以回车结束的字符串表示的整数或者浮点数,然后将每个数中的所有数字全部加总求和。

输入格式:
每行一个整数或者浮点数。保证在浮点数范围内。
输出格式:
整数或者浮点数中的数字之和。题目保证和在整型范围内。

输入样例:

-123.01
234

输出样例:

7
9
import java.util.Scanner; 
public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        while (true){
            String s = sc.nextLine();
            char[] chars = s.toCharArray();
            int sum=0;
            for (int i=0;i<chars.length;i++){
                if (chars[i]=='-'||chars[i]=='+'||chars[i]=='.') {
 
                }else {
                    int tmp=Integer.valueOf(chars[i])-48;                                            
                    sum+=tmp;
                }
            }
            System.out.println(sum);
        }
 
    }
}

你可能感兴趣的:(java渐进之路(一)基本数据类型与数组)