using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace 聊天机器人第三版
{
class Program
{
static void Main(string[] args)
{
Robot r1 = new Robot();
r1.Name = "jerry";
r1.Eat(5);
r1.SayHello();
while (true)
{
string str = Console.ReadLine();
r1.Speak(str);
}
Console.ReadKey();
}
} class Robot
{
public string Name { set; get; } //无赋值,无读取的属性可以在主函数中赋予值 private int FullLevel { set; get; } //private属性的特点:该属性不希望被用户操作,相当于内置于类中,为什么初始值是0? public void SayHello()
{
Console.WriteLine("您好,我是机器人{0}!",Name);
} public void Eat(int FoodCount) //声明了一个方法,这个方法要执行的动作是喂食的动作,定义了一个参数,是喂食的量
{
if (FullLevel > 100)
{
Console.WriteLine("把我撑死了!");
Console.ReadKey();
return;
}
FullLevel = FullLevel + FoodCount;
} public void Speak(string str)
{
if (FullLevel <= 0)
{
Console.WriteLine("饿死了,不聊了!");
//return;这里不能用return,否则就会一到这里就跳出这个方法(与函数同概念),
}
if (str.Contains("姓名") || str.Contains("名字"))
{
this.SayHello(); //调用同类的另一个方法;
}
else if (str.Contains("女朋友"))
{
Console.WriteLine("年纪太小,不考虑");
}
else
{
Console.WriteLine("听不懂!");
//return;这里不能用return,否则就会一到这里就跳出这个方法(与函数同概念),而执行不到FullLevel--;语句
}
FullLevel--;
}
}
}小弟初学c#
这段代码有两个缺憾,一个是不能退出程序,一个是fulllevel被定义为private,用户就不能对机器人喂食
还有一个疑问就是为什么fulllevel会初始值为0
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace 聊天机器人第三版
{
class Program
{
static void Main(string[] args)
{
Robot r1 = new Robot();
r1.Name = "jerry";
r1.Eat(5);
r1.SayHello();
while (true)
{
string str = Console.ReadLine();
r1.Speak(str);
}
Console.ReadKey();
}
} class Robot
{
public string Name { set; get; } //无赋值,无读取的属性可以在主函数中赋予值 private int FullLevel { set; get; } //private属性的特点:该属性不希望被用户操作,相当于内置于类中,为什么初始值是0? public void SayHello()
{
Console.WriteLine("您好,我是机器人{0}!",Name);
} public void Eat(int FoodCount) //声明了一个方法,这个方法要执行的动作是喂食的动作,定义了一个参数,是喂食的量
{
if (FullLevel > 100)
{
Console.WriteLine("把我撑死了!");
Console.ReadKey();
return;
}
FullLevel = FullLevel + FoodCount;
} public void Speak(string str)
{
if (FullLevel <= 0)
{
Console.WriteLine("饿死了,不聊了!");
//return;这里不能用return,否则就会一到这里就跳出这个方法(与函数同概念),
}
if (str.Contains("姓名") || str.Contains("名字"))
{
this.SayHello(); //调用同类的另一个方法;
}
else if (str.Contains("女朋友"))
{
Console.WriteLine("年纪太小,不考虑");
}
else
{
Console.WriteLine("听不懂!");
//return;这里不能用return,否则就会一到这里就跳出这个方法(与函数同概念),而执行不到FullLevel--;语句
}
FullLevel--;
}
}
}小弟初学c#
这段代码有两个缺憾,一个是不能退出程序,一个是fulllevel被定义为private,用户就不能对机器人喂食
还有一个疑问就是为什么fulllevel会初始值为0
{
string str = Console.ReadLine();
if (str.equals("exit"))
break;//加一个判断,如果输入的是exit就跳出循环。。 r1.Speak(str);
}
int类型如果不赋值的话默认就是0;喂食方法你要自己写,然后调用!!
以后的版本支持 private int FullLevel { set; get; } 的写法
int类型的初始化值为0