MineralTea 2017-03-30 14:40 采纳率: 0%
浏览 1238
已采纳

一个java作业,请大家赐教

package text;

import java.util.*;
class People {
private String name;
private String sex;
private int age;
private int self=0;
static int sum=0;
People(String newName,String newSex,int newage,int newsum){
name=newName;
sex=newSex;
age=newage;
sum++;
self=sum;
}void getName(String getName){
Scanner input = new Scanner(System.in);
System.out.print("请输入姓名:");
String name = input.next();
}void getSex(String getSex){
Scanner input = new Scanner(System.in);
System.out.print("请输入性别(M or W):");
String sex = input.next();
}void getAge(int getAge){
Scanner s = new Scanner(System.in);
System.out.print("请输入整数年龄:");
int age = s.nextInt();
}void search(){
System.out.println("您的姓名"+name);
System.out.println("您的性别"+sex);
System.out.println("您的年龄"+age);
System.out.println("您是第"+self+"出生者");
}
}
class Demo{
public static void main(String[] args){

    Scanner d=new Scanner(System.in); 
    System.out.print("1.注册");
    System.out.print("2.查询");
    System.out.print("3.退出");
    int n=d.nextInt();
    if(n<=3&&n>=1){
        switch(n){
        case 1:
            getName();break;
        case 2:
            search();break;
        case 3:
            System.exit(1);
        }
    }
}

}

为啥我这样运行不了呢,问题出在那三个case对应过去的get啥啥那里
今天作业,定义类People
属性:姓名,性别,年龄,静态属性:人口数量
方法:
设置姓名:从键盘输入姓名
获取姓名:返回姓名
设置性别:从键盘输入字符串,取第一字符赋值给性别,若性别不为'M'或'W',从新输入
获取性别:返回性别
设置年龄:从键盘输入整数赋值给年龄
获取姓名:返回年龄
出生:调用设置姓名/性别/年龄方法,将人口数+1;
在main 方法中创建三个People类对象,调用各对象的出生方法,做好输出人口数。
这个是作业要求

  • 写回答

10条回答 默认 最新

  • kingbaron 2017-03-31 01:54
    关注

    都把你骂了一顿了,还是随手帮你写了一段,自己看看还需要怎么改一下吧。

     package PeopleDemo;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    /**
     * @author kingbaron
     * @version 1.0
     * @date 2017/3/31
     * @package PeopleDemo
     */
    public class People {
        private String name;
        private String sex;
        private int age;
        private static int count=0;
    
        //带参构造器
        public People(String name,String sex,int age){
            this.name=name;
            this.sex=sex;
            this.age=age;
            //人口计数加一
            count++;
        }
        //一旦实现了带参构造器,一般也许需要实现无参构造器
        public People(){
            //啥也不做,除了人口计数加一
            count++;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge() {
            this.age = Integer.valueOf(readString());
        }
    
        public String getName() {
            return name;
        }
    
        public void setName() {
            this.name = readString();
        }
    
        public String getSex() {
            return sex;
        }
    
        public void setSex() {
           String temp=readString();
           String sexCandidate=temp.substring(0,1);
            if("W".equalsIgnoreCase(sexCandidate)||"M".equalsIgnoreCase(sexCandidate)){
                this.sex=sexCandidate;
            }else{
                //不男不女
                this.sex="X";
            }
        }
        //一般来说,静态变量在外部通常是只读的
        public static int getCount() {
            return count;
        }
    
        //重写toString()
        public String toString(){
            return String.format("这货的名字是:%s,性别是:%s,年龄是:%s。现在一共有%s个公户注册!",this.name,this.sex,this.age,this.count);
        }
    
        public static void main(String[] args){
            List<People> peoples=new ArrayList<>();
            People john=new People("john","Man",20);
            People alice=new People("alice","woman",22);
            People dex=new People("dex","Man",20);
            //自己去添加你要的业务吧
            consoleLog(john);
        }
    
        /**************helper-method**************/
        private static void consoleLog(Object obj){
            System.out.println(obj.toString());
        }
        private String readString(){
            Scanner scanner=new Scanner(System.in);
            return  scanner.next();
        }
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥15 ansys fluent计算闪退
  • ¥15 有关wireshark抓包的问题
  • ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
  • ¥15 向数据表用newid方式插入GUID问题
  • ¥15 multisim电路设计
  • ¥20 用keil,写代码解决两个问题,用库函数
  • ¥50 ID中开关量采样信号通道、以及程序流程的设计
  • ¥15 U-Mamba/nnunetv2固定随机数种子
  • ¥15 vba使用jmail发送邮件正文里面怎么加图片
  • ¥15 vb6.0如何向数据库中添加自动生成的字段数据。