价值1亿的人工智能,不对人工智障才对。
看的懂的就问,反正我也不一定回答 。因为跟我没有一毛钱利益,我也不解释,这黑暗的社会。
贴代码,简单实现,安卓人工智障的对话,对话准确度,需要你提供智库,或者自己一条条输入。因为只是对话,所有不提供al判断,和al决策。且先假定答案结果唯一,且正确的。
贴代码。
package com.mycompany.myAl;
import android.app.;
import android.os.;
import android.view.;
import android.widget.;
import java.io.;
import java.util.;
public class MainActivity extends Activity
{
private StringBuffer 存储 = new StringBuffer();
private StringBuffer 读取 = new StringBuffer();
private byte[] 读;
private String 追加存数据,追加数据,读取的string,tex1,tex2;
TextView tv1,tv2,tv3;
EditText ed1,ed2,ed3;
private HashMap<String,String> 角色 = new HashMap<String,String>();//添加元素
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv1=(TextView) findViewById(R.id.tv1);
ed1=(EditText) findViewById(R.id.ed1);
tv2=(TextView) findViewById(R.id.tv2);
tv3=(TextView) findViewById(R.id.tv3);
ed2=(EditText) findViewById(R.id.ed2);
ed3=(EditText) findViewById(R.id.ed3);
tex1=ed1.getText().toString();
tex2=ed2.getText().toString();
读();//无论是否读取到,下次操作都为保存
try
{
save();
}
catch (IOException e)
{}
}
public void btn(View p){
String a=ed1.getText().toString();
if(角色.get(a)==null){
//角色.put(a, "");
tv1.setText("\n没有查询到结果");
}
else if(角色.get(a)==""){
tv1.setText("\n有记录,可是为空白的");
}
else{
tv2.setText("\n"+角色.get(a));
}
}
public void btn2(View p){
String a=ed1.getText().toString();
String a1=ed2.getText().toString();
if(角色.get(a)==null&&角色.get(a)==null){
角色.put(a,a1);
存储.append(a+"|"+a1+"|");//追加
try
{
save();
读();
ed1.setText("");
ed2.setText("");
tv2.setText("\n以更新结果,可以重新问啦!");
}
catch (IOException e)
{}
}
else{Toast.makeText(this,"输入需要更正,或者此结果已经提交了",Toast.LENGTH_LONG).show();
}
}
public void btn3(View p){
ed3.setText(读取);
tv3.setText("");
}
/*
else{
//角色.put(a,a1);
tv2.setText(a+"以记录,答案是\n"+a1);
tv1.setText(角色.get(a1));
for(String i:角色.keySet()) {
if(角色.get(a1)==角色.get(i)){
角色.remove(a1);
tv2.setText(a1+"问答结果一致,删除此项数据:"+a);
}
}*/
public void save() throws IOException
{
//String of=""+人物数组[0][0];
//StringBuffer buffer = new StringBuffer(of);
//存储.append(追加存数据); //向 StringBuffer 对象追加 0f字符串;
try {
FileOutputStream outStream=new FileOutputStream("/storage/emulated/0/Al.txt");//,Context.MODE_WORLD_READABLE);
{outStream.write(存储.toString().getBytes());
outStream.close();
//Toast.makeText(this,"读取存储数据,以覆盖Al.txt文件。",Toast.LENGTH_LONG).show();
}
} catch (FileNotFoundException e) {
Toast.makeText(this,"错误",Toast.LENGTH_LONG).show();
return;
}}
public void 读(){
try
{
FileInputStream fis = new FileInputStream("/storage/emulated/0/Al.txt");//,Context.MODE_WORLD_READABLE);
读= readInputStream(fis);
读取 = new StringBuffer(new String(readInputStream(new FileInputStream("/storage/emulated/0/Al.txt"))));//使用构造函数转换成stringbuff字符串
存储=读取;
//tv2.setText(""+存储.toString());
读取的string = new String(读);//使用构造函数转换成字符串
//打印显示(读取.toString());
String[] al=读取的string.split("\\|");
for (int i = 0; i < al.length-1; i++){
if(i%2==0){
if(al[i]==al[i+1]){
}
else{
角色.put(al[i],al[i+1]);
}
追加存数据=追加存数据+al[i];
}
}
//tv2.setText(""+存储.toString());
//tv1.setText(""+追加存数据);
}
catch (FileNotFoundException e)
{}
}
public static byte[] readInputStream(InputStream inputStream)
{
// 1.建立通道对象
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
// 2.定义存储空间
byte[] buffer = new byte[1024];
// 3.开始读文件
int len = -1;
try {
if (inputStream != null) {
while ((len = inputStream.read(buffer)) != -1) {
// 将Buffer中的数据写到outputStream对象中
outputStream.write(buffer, 0, len);
}
}
// 4.关闭流
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return outputStream.toByteArray();
}
}
下面xml部分,交流可以,直接回答,代码烂很正常,毕竟又没收钱,况且别人收钱说不定更烂。
<?xml version="1.0" encoding="utf-8"?><TextView
android:layout_width="match_parent"
android:layout_height="100dp"
android:text="我是al复读机"
android:ellipsize="marquee"
android:id="@+id/tv1"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<EditText
android:layout_width="wrap_content"
android:ems="10"
android:layout_height="wrap_content"
android:id="@+id/ed1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="问"
android:id="@+id/btn"
android:onClick="btn"/>
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="100dp"
android:text="需要先存储答案才能回答"
android:ellipsize="marquee"
android:id="@+id/tv2"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<EditText
android:layout_width="wrap_content"
android:ems="10"
android:layout_height="wrap_content"
android:id="@+id/ed2"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="提交正确答案"
android:id="@+id/btn2"
android:onClick="btn2"/>
</LinearLayout>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="智库"
android:id="@+id/btn3"
android:onClick="btn3"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/ed3"/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="数据库显示"
android:ellipsize="marquee"
android:id="@+id/tv3"/>
我真的想吐槽┐(‘~`;)┌
神经算法,人工智障被吹得那么牛逼
而现在对话都很智障。上面要用到读写权限,怎么添加自己百度。