㈠ java如何創建二維數組進行學生姓名,學號,成績三個信息的存儲,使用for循環語句進行二維數組的遍
1、分析題目,需要存儲姓名學號成績,因此,二維數組需要定義成字元串類型
姓名學號成績
012
0[][][]
1[][][]
2[][][]
數組的每列存儲內容是固定的,一行代表一個學生,遍歷過程嵌套for循環就可以遍歷全部學生,
intn=input;
Stringstu[][]=newString[n][2];//學生個數不定
for(inti=0;i<n;i++){
//i是行,一行就是一個「學生」,如i=0,是第一個學生
for(intj=0;j<3,j++)
{//j,是列,是每個學生的信息,0是姓名,1是學號,2是成績
//循環過程是i=0是,遍歷[0][0],[0][1],[0][2],也就依次是姓名學號成績
System.out.print(stu[i][j]);
}
System.out.println("");//輸完一個學生,換行
}
2、源代碼如下
publicstaticvoidmain(Stringargs[])
{
System.out.println("請輸入學生個數");
Scannerinput=newScanner(System.in);
intn=input.nextInt();
Stringstu[][]=newString[n][3];//學生個數不定
//輸入信息
for(inti=0;i<n;i++){
//i是行,一行就是一個「學生」,如i=0,是第一個學生
System.out.println("請輸入第"+(i+1)+"個學生的信息:");
for(intj=0;j<3;j++)
{//j,是列,是每個學生的信息,0是姓名,1是學號,2是成績
//循環過程是i=0是,遍歷[0][0],[0][1],[0][2],也就依次是姓名學號成績
switch(j){
case0:
System.out.print("姓名:");
stu[i][j]=input.next();
break;
case1:
System.out.print("學號:");
stu[i][j]=input.next();
break;
case2:
System.out.print("成績:");
stu[i][j]=input.next();
break;
default:
break;
}
}
}
//輸出信息
for(inti=0;i<n;i++){//循環同理
for(intj=0;j<3;j++)
{//j,是列,是每個學生的信息,0是姓名,1是學號,2是成績
//循環過程是i=0是,遍歷[0][0],[0][1],[0][2],也就依次是姓名學號成績
switch(j){
case0:
System.out.print("姓名:");
System.out.print(stu[i][j]);
break;
case1:
System.out.print("學號:");
System.out.print(stu[i][j]);
break;
case2:
System.out.print("成績:");
System.out.print(stu[i][j]);
break;
default:
break;
}
}
System.out.println("");//輸完一個學生,換行
}
}
3、運行效果如圖
㈡ 要求用數組存儲學生信息,
這類軟體多如牛毛,屬於資料庫中的小兒科。
你如想用專門程序來解決這問題,隨便看一本資料庫方面的專業書,就有現成的答案了。
而你可能需要做的,無非是把軟體的思路,轉化成為軟體語言。
㈢ JAVA中將控制台動態輸入的一組學生數據存儲到數組student中怎麼實現
public class Student {
public int id;
public String name;
public String gender;
public int age;
public String classteam;
public Student(int id,String name,String gender,int age,String classteam){
this.id = id;
this.name = name;
this.gender = gender;
this.age = age;
this.classteam = classteam;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String isGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getClassteam() {
return classteam;
}
public void setClassteam(String classteam) {
this.classteam = classteam;
}
public String toString()
{
return "id="+id+",name="+name+",sex="+gender+",age="+age+",class="+classteam;
}
}
*************************************
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
public class StudentManager {
private final static int MAX_SIZE = 10;
private int length;
public StudentManager(){
length = 0;
}
public void display() throws IOException{
/**
* 採用控制台動態輸入數據
*/
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw=new BufferedWriter(new FileWriter("D:\\學生情況.txt"));
Student[] stu=new Student[10];
String s1,s2,s3,s4,s5;
while(length < MAX_SIZE)
{
System.out.println("學生學號:");
s1=br.readLine();
if(s1.length()==0)
break;
System.out.println("學生姓名:");
s2=br.readLine();
if(s2.length()==0)
break;
System.out.println("學生性別:");
s3=br.readLine();
if(s3.length()==0)
break;
System.out.println("學生年齡:");
s4=br.readLine();
if(s4.length()==0)
break;
System.out.println("學生所在班級:");
s5=br.readLine();
if(s5.length()==0)
break;
bw.write(s1);
bw.write(" ");
bw.write(s2);
bw.write(" ");
bw.write(s3);
bw.write(" ");
bw.write(s4);
bw.write(" ");
bw.write(s5);
int mid=Integer.parseInt(s1);
int mage=Integer.parseInt(s4);
stu[length]=new Student(mid,s2,s3,mage,s5);
bw.newLine();//產生新行
length++;
}
bw.close();
for(int i=0;i<10;i++)
System.out.println(stu[i]);
}
}
**********************************
class test
{
public static void main(String [] args) throws Exception
{
StudentManager SM=new StudentManager();
SM.display();
}
}
㈣ 求大神賜教!!C++學生社團管理程序,重金酬謝!要求如下
重金酬謝!啥意思啊
㈤ 存放學生信息的表格使用什麼類型的數組比較好
你的問題用資料庫很好解決,這幾個問題根本算不上問題,文件存儲都省了,通過sql語句就可完成了。如果要求不能用資料庫,下面給你個思路。
1、在定義結構體的時候可以預留幾個用於存放追加信息的變數或指針
2、採用可變數組,用CArray類很方便,具體用法也很簡單,可參考msdn
3、結構體都設置成自己的類型,輸出時再用CString轉換。
最後,如果不用資料庫要保存的話,doc/view結構的可以在文檔類中用ar對象實現存儲與讀取,比較簡單,非doc/view結構的就比較麻煩了。
㈥ 求用c++寫一個統計學生成績的程序,要求用動態存儲分配思想完成數組的定義。
#include<iostream>
#include<string>
usingstd::cin;
usingstd::cout;
usingstd::endl;
usingstd::string;
classperformance
{
private:
intnumsubject;//numberofyoursubjects
intnumstudent;//numberofstudent
float**p;
string*student;
string*subject;
protected:
intStudentPos(conststring&str);
intSubjectPos(conststring&str);
public:
performance();
floatAverageStudent(conststring&nameOFstudent);
floatAverageSubject(conststring&nameOFsubject);
voidMaxScore(conststring&nameOFsubject);
~performance();
};
intperformance::StudentPos(conststring&str)
{
for(inti=0;i<numstudent;i++)
{
if(!str.compare(student[i]))
{
returni+1;
}
}
returnINT_MAX;
}
intperformance::SubjectPos(conststring&str)
{
for(inti=0;i<numsubject;i++)
{
if(!str.compare(subject[i]))
{
returni+1;
}
}
returnINT_MAX;
}
performance::performance()
{
cout<<"pleaseinputnumberofstudent: ";
cin>>numstudent;
cout<<": ";
cin>>numsubject;
if(numstudent&&numsubject)
{
p=newfloat*[numstudent];
student=newstring[numstudent];
subject=newstring[numsubject];
for(inti=0;i<numstudent;i++)
{
p[i]=newfloat[numsubject];
}
cout<<"input"<<numstudent<<"nameofstudent: ";
for(inti=0;i<numstudent;i++)
{
cin>>student[i];
}
cout<<"input"<<numsubject<<"nameofsubject: ";
for(inti=0;i<numsubject;i++)
{
cin>>subject[i];
}
for(inti=0;i<numstudent;i++)
{
cout<<"輸入"<<student[i]<<"的分數: ";
for(intj=0;j<numsubject;j++)
{
cout<<"輸入"<<subject[j]<<"的分數:";
cin>>p[i][j];
}
}
}
}
floatperformance::AverageStudent(conststring&str)
{
intn=StudentPos(str);
floatsum=0;
if(numstudent&&numsubject&&n<INT_MAX)
{
for(inti=0;i<numsubject;i++)
{
sum+=p[n-1][i];
}
returnsum/numsubject;
}
returnsum;
}
floatperformance::AverageSubject(conststring&str)
{
intn=SubjectPos(str);
floatsum=0;
if(numsubject&&numstudent&&n<INT_MAX)
{
for(inti=0;i<numstudent;i++)
{
sum+=p[i][n-1];
}
returnsum/numstudent;
}
returnsum;
}
voidperformance::MaxScore(conststring&str)
{
intn=SubjectPos(str);
if(numstudent&&n<numsubject&&n<INT_MAX)
{
intindex=0;
for(inti=1;i<numstudent;i++)
{
if(p[index][n-1]<p[i][n-1])
{
index=i;
}
}
cout<<subject[index]<<"的最高分為"<<p[index][n-1]<<": ";
for(inti=0;i<numstudent;i++)
{
if(p[i][n-1]==p[index][n-1])
{
cout<<student[i]<<"";
}
}
cout<<" ";
}
}
performance::~performance()
{
for(inti=0;i<numstudent;i++)
{
delete[]p[i];
}
if(p)
{
delete[]p;
}
if(student)
{
delete[]student;
}
if(subject)
{
delete[]subject;
}
}
voidmain()
{
performanceperform;
cout<<"張的平均分:"<<perform.AverageStudent("張")<<" ";
cout<<"物理的平均分:"<<perform.AverageSubject("物理")<<" ";
perform.MaxScore("數學");
}
測試數據:
張 王 李 趙
數學 語文 英語 物理 化學 生物
120 111 121 80 78 90
131 144 117 79 88 91
134 109 134 67 79 88
134 109 134 67 79 88
㈦ 學生管理系統源代碼 動態構造一個數組,存放學生信息
不斷增加存放學生信息,這個數組肯定要是可變數組,但這個信息肯定不止一個信息,比如身高,成績,年齡,這么多信息,單獨用數組是沒法搞得,搞個學生模型最好