2020-11-18

价值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"/>

我真的想吐槽┐(‘~`;)┌
神经算法,人工智障被吹得那么牛逼
而现在对话都很智障。上面要用到读写权限,怎么添加自己百度。

猜你喜欢

转载自blog.csdn.net/qq_41619005/article/details/109765776