Main2Activity.java 2.77 KB
package com.example.monika.amextask;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

public class Main2Activity extends AppCompatActivity {

    EditText editText;
    String keys,nodes="";
    TextView txtAns1;
    List<String> StringPos;
    List<String> Stringkeys;
    HashMap<Integer, String> StringVal;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        editText=(EditText)findViewById(R.id.editText2);
        txtAns1 =(TextView)findViewById(R.id.txtcount);

        StringPos = new ArrayList<String>();
        Stringkeys = new ArrayList<String>();


    }
    public void getNodes(View view){
        keys=editText.getText().toString();
        StringPos = Arrays.asList(keys.split(","));
        createArr();
        for(int i=0;i<StringPos.size();i++){
            int pos=  Integer.valueOf(StringPos.get(i));

            nodes+=StringVal.get(pos-1);
        }
        System.out.println(countUniqueCharacters(nodes));
        txtAns1.setText(countUniqueCharacters(nodes)+"");
    }
    void createArr(){
        StringVal = new HashMap<Integer, String>();
        int i=0;
        while(i<50){
            for (char letter = 'A'; letter <= 'G'; letter++){
                StringVal.put(i,""+letter);
                i++;
                if(i==50)
                    break;
            }
        }
    }
    public static int countUniqueCharacters(String input) {
        String buffer = "";
        for (int i = 0; i < input.length(); i++) {
            if (!buffer.contains(String.valueOf(input.charAt(i)))) {
                buffer += input.charAt(i);
            }
        }
        return buffer.length();
    }
    String checkNode(String sToPrint){
        for(int i = 0; i < sToPrint.length(); i ++){
            char c = sToPrint.charAt(i);
            int occurences = 1;

            if(i <= sToPrint.length() - 2) {

                for (int i2 = i + 1; i2 < sToPrint.length(); i2 ++){
                    char c2 = sToPrint.charAt(i2);

                    if(c2 == c)
                        occurences += 1;
                    else{
                        i += occurences - 1;
                        break;
                    }
                }

            }
            else
                break; //we are on our last char

            System.out.println(String.valueOf(occurences) + String.valueOf(c));
            if(occurences>1){
                return "yes";
            }
            else
                return "no";
        }
        return "";
    }
}