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 Logical 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!