当前位置:网站首页>Experiment 4 array
Experiment 4 array
2022-07-06 13:55:00 【Wen Wen likes Guo Zia】
Experiment four : Array
The experiment purpose
1. Master array declaration 、 Definition 、 Initialize and use .
2. Master the access method of one-dimensional or two-dimensional array elements .
Experimental content
1. Programming , Complete the following functions :
(1) Input 20 An integer into the array ;
(2) Yes 20 The number is sorted from large to small , Output sorted array ;
(3) Enter an integer x;
(4) Look for... In an array x. If output is found x Subscript in array , Output not found -1.
package code41;
import java.util.Scanner;
import java.util.Arrays; // Import Arrays class
public class code41 {
public static void main(String[] args) {
// TODO Automatically generated method stubs
Scanner in = new Scanner(System.in);
int []numbers=new int[20];
System.out.println(" Please enter 20 It's an integer :");
for(int i=0;i<20;i++) {
numbers[i]=in.nextInt(); // adopt nextInt Method to read the number entered by the user in turn and store it in the array
}
Arrays.sort(numbers); // take 20 An integer is sorted from small to large
for(int i = 19;i>=0;i--) {
System.out.println(numbers[i]); // Output in reverse order , That is, convert it to sort from large to small
}
System.out.println(" Please enter an integer x:");
int x=in.nextInt(),j=0;
for(int i=0;i<20;i++) {
if(x==numbers[i]) // Look for... In an array x
{
System.out.println(i); // Output x Subscript in array
j=1;
}
}
if(j!=1)
{
System.out.println("-1"); // Output if you can't find it -1
}
}
}
- Output a stored in a two-dimensional array 3*3 matrix , And find the sum of diagonal elements .
package code42;
import java.util.Scanner;
public class code42 {
public static void main(String[] args) {
// TODO Automatically generated method stubs
int numbers[][]=new int[3][3]; // Define this array and allocate memory space to it
int i,j,sum=0;
System.out.println(" Please enter 3*3 The elements of a matrix :");
Scanner in = new Scanner(System.in);
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
numbers[i][j]=in.nextInt(); // Input array elements
if(i==j) // Determine whether it is a diagonal element
{
sum+=numbers[i][j]; // Sum up
}
}
}
System.out.println(" The sum of diagonal elements is :"+sum);
System.out.println(" Output 3*3 Array of :");
for(i=0;i<3;i++) {
for(j=0;j<3;j++) {
System.out.print(" "+numbers[i][j]); // Output two-dimensional array
}
System.out.println();
}
}
}
3. Print Yang Hui triangle in the following form
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
........................
Before output 10 That's ok .
package code43;
public class code43 {
public static void main(String[] args) {
// TODO Automatically generated method stubs
int[][]num=new int[10][10]; // Define a Yang Hui triangle with ten rows and ten columns
for(int i=0;i<num.length;i++) {
for(int j=0;j<num.length;j++) {
num[i][0]=1;
num[i][j]=1; // The first and last columns of each row are 1
}
}
for(int i=2;i<num.length;i++) {
for(int j=1;j<i;j++) {
num[i][j]=num[i-1][j]+num[i-1][j-1]; // Each number is equal to the sum of the two numbers above it
}
}
for(int i=0;i<num.length;i++) {
for(int j=0;j<=i;j++) {
System.out.print(num[i][j]+" "); // Output Yang Hui triangle
}
System.out.println();
}
}
}
4. Yes M A circle of individuals , Each person has a number (1.2.3.....M), Count from the first person , To report for duty N This person is out of the circle . Continue counting , Count to N At that time, this man made a circle again . Until there's only one left , Output the order of the circle .M、N Input from keyboard .
package code44;
import java.util.Scanner;
public class code44 {
public static void main(String[] args) {
// TODO Automatically generated method stubs
Scanner in=new Scanner(System.in);
System.out.println(" Please enter the total number of people :");
int M=in.nextInt();
System.out.println(" This person will leave the circle as soon as he reports for duty :");
int N=in.nextInt();
int num[]=new int[M];
int a=M,b=-1,c=0;
for(int i=0;i<M;i++) {
c++;
num[i]=c; // Number the array
}
System.out.println(" Original sort :");
for(int i=0;i<M;i++) {
System.out.print(num[i]+"\t");
}
System.out.println();
System.out.println(" Output the order of the circle :");
while(a!=1) { // End of control cycle
for(int i=0;i<N;i++) {
b++;
if(b==M)
{
b=0; // Count
}
if(num[b]==0)
{
i--; // Prevent double counting
}
}
if(num[b]!=0)
{
System.out.print(num[b]+"\t"); // The sorting number of the output number
num[b]=0; // Exclude the selected number
}
a--;
}
}
}
Summary of experiments
- When defining an array , Except to give the name of the array 、 Member type , Also allocate memory space for it , And initialize ;
- When defining an array , Do not allow the [] Specify the number of array elements in ;
- Arrays cannot be assigned as a whole ;
- Import Arrays class , Use Arrays.sort() Method can sort the elements in the specified array from small to large ;
- Java Some examples of array experiment problems, such as matrix 、 Yang hui triangle 、 Joseph Ring problem has its fixed Algorithm .
边栏推荐
- 强化学习基础记录
- [the Nine Yang Manual] 2018 Fudan University Applied Statistics real problem + analysis
- ArrayList的自动扩容机制实现原理
- UGUI—Text
- 【Numpy和Pytorch的数据处理】
- Caching mechanism of leveldb
- Custom RPC project - frequently asked questions and explanations (Registration Center)
- 7-3 构造散列表(PTA程序设计)
- MATLAB打开.m文件乱码解决办法
- The difference between abstract classes and interfaces
猜你喜欢
强化學習基礎記錄
强化学习基础记录
7-7 7003 组合锁(PTA程序设计)
关于双亲委派机制和类加载的过程
QT meta object qmetaobject indexofslot and other functions to obtain class methods attention
The difference between cookies and sessions
编写程序,模拟现实生活中的交通信号灯。
1. Preliminary exercises of C language (1)
Safe driving skills on ice and snow roads
【VMware异常问题】问题分析&解决办法
随机推荐
强化学习系列(一):基本原理和概念
HackMyvm靶机系列(6)-videoclub
SRC mining ideas and methods
优先队列PriorityQueue (大根堆/小根堆/TopK问题)
The difference between abstract classes and interfaces
7-3 构造散列表(PTA程序设计)
The latest tank battle 2022 - full development notes-3
Write a program to simulate the traffic lights in real life.
ArrayList的自动扩容机制实现原理
fianl、finally、finalize三者的区别
C language Getting Started Guide
7-7 7003 组合锁(PTA程序设计)
Principles, advantages and disadvantages of two persistence mechanisms RDB and AOF of redis
【数据库 三大范式】一看就懂
Difference and understanding between detected and non detected anomalies
[graduation season · advanced technology Er] goodbye, my student days
Canvas foundation 1 - draw a straight line (easy to understand)
Implementation of count (*) in MySQL
Inaki Ading
The difference between cookies and sessions