if have following 2d object of char
type:
aaaa...|| bbb..|ccc ddddd..|d
the method countchars()
returns number of letters different, i.e. in example above result returned 4
because there a,b,c,
, d
characters. not count every single character ('.'
, '|'
not included while counting) counts number of different characters in array. example:
zzz.zz|| ....tt|. wwwwwwww
the above result returned method 3
(z
, t
, w
) in code, i'm not getting desired result.
public int countchars() { char originalchar = 0; char anotherchar = 0; int count = 0; for(int r = 0; r < height; r++) { for(int c = 0; c < width; c++) { if(space[r][c] != '.' || space[r][c] != '|') { space[r][c] = originalchar; } count++; space[r][c] = originalchar; } } return count; }
i use set
handle problem, since eliminates problem of counting duplicates.
public int countchars() { set<character> set = new hashset<character>(); (int r = 0; r < height; ++r) { (int c = 0; c < width; ++c) { if (space[r][c] != '.' && space[r][c] != '|') { set.add(new character(space[r][c])); } } } return set.size(); }
this solution assumes .
, |
2 characters want exclude. if had in mind count letters (or letters , numbers) please update problem statement.