How can i run my integer number from this question ?
Show older comments
The question is :
Enter a character. If it is an uppercase letter, it outputs its
successor. If it is a lowercase letter, it outputs its leading character.
If it is another character, it will be output as it is.
Point to be noted , i want to execute the integer number with matlab function such as int8 , int16 like this . I'm going to share my code which i made. Can anyone help me to find the problem ?
Thanks in advance
My created code is :
inputLetter = input('Please input a string number : ','s');
if(inputLetter == upper(inputLetter))
fprintf( 'Its a successor!');
elseif (inputLetter == lower(inputLetter))
fprintf( 'Its a leading charecter!');
elseif(inputLetter == int16(inputLetter))
fprintf('Its is obvoiusly '+inputLetter);
else
fprintf('Incorrect input ! ');
end
7 Comments
Stephen23
on 1 Oct 2020
>> inp = 'Xx!';
>> out = char(inp-(lower(inp)==inp)+(upper(inp)==inp))
out = Yw!
MD HASIBUR RAHMAN LEMON
on 1 Oct 2020
Edited: MD HASIBUR RAHMAN LEMON
on 1 Oct 2020
Walter Roberson
on 1 Oct 2020
There is no point in int8 or int16 in that code. You only have three cases: uppercase, lowercase, and anything else. Once you have tested for uppercase and lowercase, then you know you must have something else.
MD HASIBUR RAHMAN LEMON
on 1 Oct 2020
Edited: MD HASIBUR RAHMAN LEMON
on 1 Oct 2020
Walter Roberson
on 1 Oct 2020
What is the expected value of upper('1') ?
MD HASIBUR RAHMAN LEMON
on 1 Oct 2020
Walter Roberson
on 1 Oct 2020
You tested whether the input is an uppercase character by testing
if inputLetter == upper(inputLetter)
But when you take upper() of something that is not a letter, then the result is the same as the input -- upper('1') is the same as '1' .
I recommend you see isstrprop() if you want to get as far as supporting uppercase and lowercase Unicode characters.
If you only want to bother handling English, then I suggest you use ismember()
Answers (1)
Asad (Mehrzad) Khoddam
on 1 Oct 2020
You can convert the strinng to a double number then apply int8 or int16:
int16(str2double(inputLetter))
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!