Java中结构体的实现

我们都知道C/C++里面的结构体在储存数据的时候很方便,但是在Java中没有Struct,但是我们可以用类来实现C语言中结构体的功功能。

先来看C语言中的吧:

#include<bits/stdc++.h>
using namespace std;
struct sdut{
	int x;
	char b[100];
}a[100];//a;定义结构体数组或结构体变量;
int main() {
	for(int i=0;i<n;i++) {
		cin>>a[i].x;
	cin>>a[i].b;  ///输入数据;
	}
}

Java中:

import java.util.*;
class p{
	int x;
	String s;
}
public class Main{
	public static void main(String args[]){
	Scanner cin=new Scanner(System.in);
	  int n;
	  n=cin.nextInt();
	  p m[]=new p[100];///这里m数组就相当于C语言中的那个结构体数组a[100];
/* 或者 p a=new p();定义单个结构体变量;*/
	  for(int i=0;i<100;i++) {
		  b[i]=new p();///这条语句一定要加上;不然有错误;
	  }
	  for(int i=0;i<n;i++) {
		  b[i].s=cin.next();///输入数据;
		  b[i].x=cin.nextInt();
	    /*  a.s=cin.next();
            a.x=cin.nextInt();
                               */
	 }
	}
}

Eg:可以拿这道题练练手

附代码:

import java.util.*;
class p{
	int x;
	String s;
}
public class Main{
	public static void main(String args[]){
	Scanner cin=new Scanner(System.in);
	  int n;
	  n=cin.nextInt();
	  p m[]=new p[100];
	  p b[]=new p[100];
	  for(int i=0;i<100;i++) {
		  b[i]=new p();
	  }
	  for(int i=0;i<n;i++) {
		  b[i].s=cin.next();
		  b[i].x=cin.nextInt();
	  }
	  for(int i=0;i<n;i++) {
		  for(int j=0;j<n-i-1;j++) {
			  if(b[j].x<b[j+1].x) {
				 m[j]= b[j];
				 b[j]=b[j+1];
				 b[j+1]=m[j];
			  }
		  }
	  }
	  for(int i=0;i<n;i++) {
		  System.out.println(b[i].s+" "+b[i].x);
	  }
	}
}

猜你喜欢

转载自blog.csdn.net/z_xindong/article/details/82630005