import java.awt.*;
import java.util.*;
import java.io.*;
import java.util.Random;
import java.math.*;

//变量说明
/*Suv:结点U与V交易成功次数,Siv:任一结点与V交易成功次数,
Fuv:结点U与V交易失败次数,Guv:全局信任度,Dx:反馈评价偏移度,K:交易次数
Luv:局部信任度,Rxv:任一结点的反馈信任度,Tv:推荐信任度,Cr:反馈推荐可信度,
Wu:节点U参考自身历史经验的平衡权重*/

public class DHT
{
    int Suv,Siv,Fuv,Guv,Dx,K;
    int s=2,beta=2,i=0,j=0;
    double Luv,Rxv,Tv,Cr,Wu;
    double alpha=0.8;
    
    
    public static void main(String args[]) throws IOException
    {
        System.out.println("Please Input Iuv",+Iuv);
    }
    
    class Array//定义三个节点
    {
        public void main(String[] args) throws IOException
        {
            int[] node_id;
            node_id = new int[3];
            node_id [1] = 1;
            node_id [2] = 2;
            node_id [3] = 3;
        }
        
    }
    
    
    

    void compute()
    {
        Luv = Suv / Iuv;
        Fuv = Iuv - Suv;
        Rxv = (Sxv - Fxv) / Siv;
        dux = dx;
        Cr = 1 - dx^0.5;
        Tv = Rxv * Cr;
        Wu = 1 - 0.8^(K/2);
        Guv = Wu*Luv+(1-Wu) * Tv;
    }
        
    
    
    class node_require_table//请求交易节点的数据结构表
    {
        public void main(String[] args) throws IOException
        {
            String Dx1 = node_id;
            double Sus1=0.5,Fus1=0.5;
            int Kus1=20;
        }
        
    }
    
    
    
    class node_doc_table//作为档案节点时的数据结构表
    {
        public void main(String[] args) throws IOException
        {
            String Df1 = node_id[2];
            int Sf1v=10,Ff1v=10;
        }

    }
    
    void GenerateRandomStr()//随机生成一个0,1值,0代表交易失败,1代表交易成功
    {
        String randStr = "01";  
        StringBuffer generateRandStr=new StringBuffer();
        Random rand = new Random();
        int randStrLength = 1; 
        for (int i = 0; i < randStrLength; i++) 
        {
             int randNum = rand.nextInt(25);
             generateRandStr.append(randStr.substring(randNum,randNum+1));
        }
        System.out.println(generateRandStr); 
    } 
    
        
    void EvalTrans()//做交易
    {
        
    }
    
    void Update()//更新本地数据表
    {
        
    }
    
    class BinarySearch//在本地数据表中查找Cr
    {
        public void main(String [] args)
        {
            double[] L={0.4,0.5,0.6};
            System.out.println(binarySearch(L,3));
        }
        public int binarySearch(int [] L,int key)
        {
            int first=0;
            int last=L.length-1;
            int mid;
            while(first<=last)
            {
                mid=(first+last)/2;
                if(L[mid]==key)
                    return mid;
                if(L[mid]>key)
                    last=mid-1;
                if(L[mid]<key)
                    first=mid+1;
            }
        return -1;
    }



    void GenerateRandomStr() //随机选取一个结点
    {
        String randStr = "123";  
        StringBuffer generateRandStr=new StringBuffer();
        Random rand = new Random();
        int randStrLength = 1; 
        for (int i = 0; i < randStrLength; i++) 
        {
             int randNum = rand.nextInt(25);
             generateRandStr.append(randStr.substring(randNum,randNum+1));
        }
        System.out.println(generateRandStr); 
    } 
    
    
    
    if( Luv>=0.4)//与允许交易的最低值做比较
    {
        u.EvalTrans();
        u.Update();
    }
    else
        BinarySearch(node_require_table)
        if(1)
        {
            Tv = Rxv * Cr;
            Guv = Wu*Luv+(1-Wu) * Tv;
            if(Guv>0.4)
            {
                u.EvalTrans();
                u.Update();
            }
            else
            BinarySearch(node_require_table)
            dux = dx;
            Cr = 1 - dx^0.5;
            if(1)
            Tv = Rxv * Cr;
            Guv = Wu*Luv+(1-Wu) * Tv;
            if(Guv>0.4)
            {
                u.EvalTrans();
                u.Update();
            }
            else
        return Random(node_id[]);
        }
}


这是我写的一个关于信任计算的一个程序,有很多错误,实在是不会改了,让各位高手帮忙改一下。

附上流程图以及相关文献(流程图在文章的第四页,算法在文章的第三页)